cache: Use sigaction() instead of signal()
Signal() has an unavoidable race-condition on "broken by
backwards-compatibility" systems like Solaris. (Upon receiving a
signal, the handler is reset to SIG_DFL, thus a second signal will
kill the process. The problem could also be reduced by re-installing
the handler inside the handler, but there's still a race-condition and
the risk of the handler being called inside the handler).
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31738 b3059339-0415-0410-9bf9-f77b7e298cf2