freebsd-ports/net/socks5/files/patch-as
Warner Losh ed13219d7c Kludge rearming the signal for SIGCHLD so that we can harvest the
zombies on the system.  Without this change, the socks5 daemon would
work great for a short period of time, then hang because no more
children could be created.  It appears from debugging that this is
because gravedigger was only called once.  I reestablish the signal
handler in gravedigger to force SIGCHLD to be unmasked.

A more proper fix might be to fix Signal to have multi-shot signals,
or to see what might be broken with the signal masks.  Since I'm in a
hurry and this port's daemon is broken without this, I commit this
kludge knowing that it will live approximately forever, less three
days.
2000-10-03 03:28:46 +00:00

10 lines
258 B
Text

--- server/socket.c.orig Mon Oct 2 21:18:48 2000
+++ server/socket.c Mon Oct 2 21:18:55 2000
@@ -66,6 +66,7 @@
if (errno == EINTR) continue;
case 0:
SigUnblock(set);
+ Signal(SIGCHLD, gravedigger);
errno = oerrno;
return;
default: