summaryrefslogtreecommitdiff
path: root/net/socks5
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2000-10-03 03:28:46 +0000
committerWarner Losh <imp@FreeBSD.org>2000-10-03 03:28:46 +0000
commited13219d7c1131773744d618ecc929e027153bbd (patch)
treeb99051e17da7bca4aabdc986f508785b1c730898 /net/socks5
parentWhitespace changes. (diff)
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.
Notes
Notes: svn path=/head/; revision=33348
Diffstat (limited to 'net/socks5')
-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: