diff options
author | Warner Losh <imp@FreeBSD.org> | 2000-10-03 03:28:46 +0000 |
---|---|---|
committer | Warner Losh <imp@FreeBSD.org> | 2000-10-03 03:28:46 +0000 |
commit | ed13219d7c1131773744d618ecc929e027153bbd (patch) | |
tree | b99051e17da7bca4aabdc986f508785b1c730898 /net | |
parent | Whitespace 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')
-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: |