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>
index | next in thread | previous in thread | raw e-mail
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
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.UW2.3.95.970224120554.22768K-100000>
