b59a4d1d8c
sigemptyset(). (this used to work, by chance, when sigmasks fit in a register). doscmd now seems to work on 1.3I
24 lines
635 B
Text
24 lines
635 B
Text
$NetBSD: patch-aa,v 1.4 1998/11/29 23:39:30 sommerfe Exp $
|
|
|
|
--- signal.c.orig Thu May 2 16:03:39 1996
|
|
+++ signal.c Sun Nov 29 18:27:37 1998
|
|
@@ -98,11 +98,18 @@
|
|
if (s >= 0 && s < NSIG) {
|
|
handler[s] = h;
|
|
|
|
- sa.sa_handler = generichandler;
|
|
+ sa.sa_handler = (void (*)())generichandler;
|
|
+#if defined(__LIBC12_SOURCE__)
|
|
sa.sa_mask = sigmask(SIGIO) | sigmask(SIGALRM);
|
|
+#else
|
|
+ sigemptyset(&sa.sa_mask);
|
|
+ sigaddset(&sa.sa_mask, SIGIO);
|
|
+ sigaddset(&sa.sa_mask, SIGALRM);
|
|
+#endif
|
|
sa.sa_flags = SA_ONSTACK;
|
|
sigaction(s, &sa, NULL);
|
|
|
|
+ sigemptyset(&set);
|
|
sigaddset(&set, s);
|
|
sigprocmask(SIG_UNBLOCK, &set, 0);
|
|
}
|