diff options
author | imp <imp@FreeBSD.org> | 2000-10-03 11:28:46 +0800 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2000-10-03 11:28:46 +0800 |
commit | 474d27e2f7e259c726342dd6c33f7a3be76888c8 (patch) | |
tree | 088163a931862c86640d2c92e1ae6fb080271ed1 /net/socks5 | |
parent | 2a5c078f9250037880dc0a149b4b3806aeb3a10f (diff) | |
download | freebsd-ports-gnome-474d27e2f7e259c726342dd6c33f7a3be76888c8.tar.gz freebsd-ports-gnome-474d27e2f7e259c726342dd6c33f7a3be76888c8.tar.zst freebsd-ports-gnome-474d27e2f7e259c726342dd6c33f7a3be76888c8.zip |
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.
Diffstat (limited to 'net/socks5')
-rw-r--r-- | net/socks5/files/patch-as | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/net/socks5/files/patch-as b/net/socks5/files/patch-as new file mode 100644 index 000000000000..57df76f1c5a7 --- /dev/null +++ b/net/socks5/files/patch-as @@ -0,0 +1,10 @@ +--- 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: |