Do not re-install the signal handler.
That one little line of code has caused me a fair amount
of pain in the past, on Solaris as a matter of fact.
According to perlipc:
But that will be problematic for the more complicated
handlers that need to reinstall themselves. Because Perl's
signal mechanism is currently based on the signal(3)
function from the C library, you may sometimes be so
misfortunate as to run on systems where that function is
"broken", that is, it behaves in the old unreliable SysV way
( the emphasis is mine ). Most systems people work on today
are not broken. I know Solaris is at least one of them.
FreeBSD is another. I would imagine Linux isn't either, but
don't know for certain because I don't work on Linux boxen.
Follow tilly's advice.
mikfire