$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);
 	}
