summaryrefslogtreecommitdiff
path: root/chat/icb/patches/patch-icb_signals.c
diff options
context:
space:
mode:
Diffstat (limited to 'chat/icb/patches/patch-icb_signals.c')
-rw-r--r--chat/icb/patches/patch-icb_signals.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/chat/icb/patches/patch-icb_signals.c b/chat/icb/patches/patch-icb_signals.c
new file mode 100644
index 00000000000..37276a51bec
--- /dev/null
+++ b/chat/icb/patches/patch-icb_signals.c
@@ -0,0 +1,21 @@
+$NetBSD: patch-icb_signals.c,v 1.1 2012/02/16 14:13:15 hans Exp $
+
+--- icb/signals.c.orig 1995-02-24 22:20:29.000000000 +0100
++++ icb/signals.c 2012-01-20 15:51:46.655776885 +0100
+@@ -40,11 +40,14 @@ trapsignals()
+ sighandler
+ suspend()
+ {
++ sigset_t set;
++
+ restoreterm();
+ signal(SIGTSTP, SIG_DFL);
+- sigsetmask(sigblock(0) &~ mask(SIGTSTP));
++ sigaddset(&set, SIGTSTP);
++ sigprocmask(SIG_UNBLOCK, &set, NULL);
+ kill(0, SIGTSTP);
+- sigblock(mask(SIGTSTP));
++ sigprocmask(SIG_BLOCK, &set, NULL);
+ signal(SIGTSTP, suspend);
+ icbterm();
+ continued = 1;