ken@cs.toronto.edu (Ken Lalonde) (12/14/90)
When following program is compiled with "cc test.c" under IRIX 3.3.1, it prints "Caught SIGCONT", as expected: #include <signal.h> f() { printf("Caught SIGCONT\n"); } main() { signal(SIGCONT, f); kill(0, SIGCONT); } When compiled "cc -D_BSD_SIGNALS", it prints nothing. The signal handler for SIGCONT isn't being called. Bug? -- Ken Lalonde, University of Toronto
bowen@wanda.asd.sgi.com (Jerre Bowen) (12/18/90)
In article <90Dec14.002220est.6705@neat.cs.toronto.edu>, ken@cs.toronto.edu (Ken Lalonde) writes: > When following program is compiled with "cc test.c" under IRIX 3.3.1, > it prints "Caught SIGCONT", as expected: > > #include <signal.h> > f() > { > printf("Caught SIGCONT\n"); > } > main() > { > signal(SIGCONT, f); > kill(0, SIGCONT); > } > > When compiled "cc -D_BSD_SIGNALS", it prints nothing. > The signal handler for SIGCONT isn't being called. > > Bug? > > -- > Ken Lalonde, University of Toronto Yes, it's a bug which is fixed in the next major release. Fortunately, only the BSD version of signal is affected, and only when attempting to catch SIGCONT. Therefore, you may substitute either sigvec(3B) (if you want to stay with BSD signal routines), or POSIX sigaction(2). (The BSD routines are libraries built on top of POSIX system calls). Thank you for reporting this. Jerre Bowen (bowen@sgi.com)