In <[EMAIL PROTECTED]>,
Doug MacEachern writes:
:when 'local $SIG{ALRM} = sub {...}' goes out of scope, magic_setsig() sets
:the SIGALRM handler to SIG_DFL, rather than the original handler.  this
:causes quite a bit of trouble running inside of apache, since 'local
:$SIG{ALRM}' unhooks the apache SIGALRM handler for the life of that
:proccess.
:the original handler is already fetched by magic_getsig(), this patch
:saves that pointer so it can be restored in magic_setsig().
[snip]

I believe that this (or take2) might cause a problem for code like:

  sub handler { print "sig handled" }
  my $handlesub = "handler";

  [... something reads $handlesub in numeric context ...]

  $SIG{ALRM} = $handlesub;

I'm not sure how big a concern that should be, if it is true.

Hugo

Reply via email to