Joshua N Pritikin <[EMAIL PROTECTED]> writes:
>----- Forwarded message from Robert Urban <[EMAIL PROTECTED]> -----
>
>To: [EMAIL PROTECTED]
>Subject: Event and non-Event signal handlers on Linux
>From: Robert Urban <[EMAIL PROTECTED]>
>X-Seen: false
>X-ID: [EMAIL PROTECTED]
>
>Hallo Joshua,
>
>hmm.  I'm afraid I was a bit premature with my previous mail.
>
>It seems there are significant implementation differences between
>Solaris and Linux.  On Solaris, when I retrieve the exit status
>of a process that caused a segmentation fault, I get what I expect,
>namely a value with bit 8 set (128 decimal).  It makes no difference
>if I retrieve the status in an Event callback or using a simple
>signal handler.
>
>On Linux, if I simply run my core-dumping program, I get an exit status
>of 139 (decimal).  If however I retrieve the status in an Event callback
>or in a signal handler (makes no difference) I get 11 (decimal).  strange.
>
>All this mucking about caused me to find another difference in Event's
>behaviour on Solaris and Linux:
>
>In order to work around the problem I described in my previous mail,
>I decided to catch SIGCHLD using my own signal hander, and then
>use Event::timer() to create an event.   The Event manpage implies
>that this should work:
>
>       signal => $str
>           The callback is invoked after the specified signal is received.
>           The $str string should be something like 'INT' or 'QUIT'.  Also see
>           the documentation for %SIG.  A given signal can be handled by %SIG
>           or Event, but not both.
>
>
>However, on Linux, my signal handler is not getting called.  On Solaris,
>it again works as expected.
>
>As my target platform is Solaris, I'm not too distraught, but it's not
>very encouraging to find the Linux implementation deviates so significantly
>from the acceptable. When I write "implementation" I mean somewhere in:
>       kernel
>       libc
>       perl
>       Event
>
>I'm not accusing Event of being the culprit :).
>
>I'm using redhat with a 2.4.18 kernel.

Are you using same perl versions on both platforms?

Reply via email to