Still still trying to figure this out:
I get about 10 or 20 exit signal Alarm Clock (14) messages a day -- out of
15,000+ requests. Not very many.
I log the PID of my mod_perl script each request, and for each 'exit signal
Alarm Clock (14)' there seems to be a mod_perl request about 5 minutes and
two or three seconds before the time of the Alarm message in the main log
file.
The Apache Timeout setting is 5 minutes.
So it would seem that my mod_perl script is somehow not restoring
$SIG{ALRM} in some cases, even though it's localized in an eval block.
That is, the Apache Timeout is triggering an alarm, but there's no handler
to catch it. I'm always calling alarm( 0 ) after exiting the block.
I have failed to duplicate the error message on a test server. I've tried
a server with only one child process, running the mod_perl script, then
running another mod_cgi script that just sits for longer than the Timeout
setting. But it times out as expected without killing the process.
I could try using Sys::Signal, but I understand that's not need with
$SIG{ALRM}. Besides, I do see other normal timeouts (e.g. send body timed
out) in the server log file. So it's not happening all the time.
Any suggestion on what else to look at?
BTW -- I did remove the CORE:: from CORE::sub {} as Stas suggested.
Bill Moseley
mailto:[EMAIL PROTECTED]