[net.micro.att] Error in signal

rod@pecnos.UUCP (Robert O. Domitz) (01/23/86)

*** REPLACE THIS LINE WITH YOUR MESSAGE *** (Line eater, have fun...)

I am attempting to port some software to the UNIX PC (ATT 7300) and
have run into an interesting problem.  Two of the "standard" library
functions, signal() and system(), seem to fail.  Has any one else seen
this problem??

To be more specific, system() creates a child process and then calls
signal() to catch the SIGCLD ("death-of-a-child") signal.  This fails
because signal fails.  The child process is successfully created and
executes.

The signal() routine fails with an illegal instruction.  When sdb was
used to step through the machine instructions, we found that after
thirty or so instructions, the routine was attempting to execute a
character string!!  A basic scenario to repeat this failure is:

	#include <signal.h>
		:
		:
	{
		:
		:
		signal (SIGany, SIG_IGN);
		:
	}

Any help would be appreciated.  Running this software without catching
signals presents some rather interesting difficulties.

Thank you in advance.


Robert Domitz          ...{decvax,ucbvax,ihnp4}!vax135!petsd!shire!Rod
Box 1186		...{decvax,ucbvax,ihnp4}!vax135!petsd!pecnos!rod
Jackson, N.J. 08527

The opinions expressed above are totally disclaimed by my employer,
my wife, my dog, and myself.

(donchajustlovit?!)