aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2000-10-03 11:28:46 +0800
committerimp <imp@FreeBSD.org>2000-10-03 11:28:46 +0800
commit474d27e2f7e259c726342dd6c33f7a3be76888c8 (patch)
tree088163a931862c86640d2c92e1ae6fb080271ed1 /net
parent2a5c078f9250037880dc0a149b4b3806aeb3a10f (diff)
downloadfreebsd-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')
-rw-r--r--net/socks5/files/patch-as10
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: