in reply to Re: How do you wait for a process to end ?
in thread How do you wait for a process to end ?

Perl does not have reliable signal handling. If it is for production use and has to work day in, day out for an extended time, I would suggest avoiding signal handlers.
  • Comment on Re (tilly) 2: How do you wait for a process to end ?

Replies are listed 'Best First'.
Re: Re (tilly) 2: How do you wait for a process to end ?
by Philgarr (Novice) on Aug 24, 2001 at 22:21 UTC
    Interesting... I have never heard that, nor had that problem. Is it that way on all *nixes, or just on OSes with weird/broken signals?
      The problem is with Perl itself.

      IIRC there are two problems. The first is that if you receive a signal from within a signal handler, you are likely to dump core. The second is that if Perl allocates memory within a signal handler (which it might do for a lot of reaons), you are likely to dump core. The result is that if you are using signal handlers, doing complex things in your handlers, and receiving a large number of signals, you are aperiodically going to dump core.

      But note that I have heard rumor that Perl 5.8 is likely to fix this. (The problem with learning about the bugs is that they keep on going away...grumble...:-)