Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Feb 1997 12:13:01 -0800 (PST)
From:      Dan Busarow <dan@dpcsys.com>
To:        Gianmarco Giovannelli <gmarco@scotty.masternet.it>
Cc:        questions@freebsd.org
Subject:   Re: * searching a good priest for zombies processes *
Message-ID:  <Pine.UW2.3.95.970224120554.22768K-100000@cedb>
In-Reply-To: <3.0.1.32.19970225132803.006baf40@scotty.masternet.it>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 25 Feb 1997, Gianmarco Giovannelli wrote:
> It is possible that passserv.c (from corollary.com) is buggy !?!? Is there
> anyone that is using it with a cns 16x0 ?

More than likely they are not handling SIGCHLD correctly.  Look for
a line like
	
	signal(SIGCHLD,SIG_IGN);

If there is a line like that and it isn't wrapped in some ifdef's
change it to

#ifdef BSD
	signal(SIGCHLD, sig_child);
#else
	signal(SIGCHLD,SIG_IGN);
#endif 

then at the end of the file add

void sig_child(int sig)
{
#ifdef BSD
	int pid;
	int status;
		  
	/* catch any and all outstanding SIGCHLD's */
	while((pid = waitpid(-1, &status, WNOHANG)) > 0)
		; 
#endif
} 

and at the top where you see other function declarations add

void sig_child(int);

Add a -DBSD to your CFLAGS in the Makefile and send diff's to Corollary.

Dan
-- 
 Dan Busarow                                                  714 443 4172
 DPC Systems / Beach.Net                                    dan@dpcsys.com
 Dana Point, California  83 09 EF 59 E0 11 89 B4   8D 09 DB FD E1 DD 0C 82




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.UW2.3.95.970224120554.22768K-100000>