[comp.sys.sgi] Can't catch SIGCONT under 3.3.1?

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)