SYS V SIGCLD Handling

david newall CCDN at levels.sait.edu.au
Tue Nov 21 22:24:58 AEST 1989


In article <957 at sdrc.UUCP>, scjones at sdrc.UUCP (Larry Jones) writes:
> #include <signal.h>
>
> handler()
>    {
>    signal(SIGCLD, handler);
>    }
>
> main()
>    {
>    signal(SIGCLD, handler);
>    if (fork() == 0) exit(0);
>    }
>
> When I run this on my Sys Vr3.0 system, it goes into recursive death.

A similar program which caught SIGINT, running under SVR1, gave me similar
results.  I don't understand why.  It seems to contradict the manual:

         "A call to signal cancels a pending signal sig except for a
          pending SIGKILL signal."


Could someone please explain this apparent contradiction?


David Newall                     Phone:  +61 8 343 3160
Unix Systems Programmer          Fax:    +61 8 349 6939
Academic Computing Service       E-mail: ccdn at levels.sait.oz.au
SA Institute of Technology       Post:   The Levels, South Australia, 5095



More information about the Comp.unix.questions mailing list