Wed Feb 14 00:21:17 1996 David Mosberger-Tang <davidm@azstarnet.com>
authorroland <roland>
Tue, 19 Mar 1996 19:54:30 +0000 (19:54 +0000)
committerroland <roland>
Tue, 19 Mar 1996 19:54:30 +0000 (19:54 +0000)
* sysdeps/posix/sleep.c (sleep): initialize sa_mask to mask of
currently blocked signals instead of the empty mask to ensure
that execution of alarm handler occurs with none of the currently
blocked signals enabled.

sysdeps/posix/sleep.c

index 36864cb..20f78a0 100644 (file)
@@ -58,8 +58,8 @@ DEFUN(sleep, (seconds), unsigned int seconds)
 
   act.sa_handler = sleep_handler;
   act.sa_flags = 0;
-  if (sigemptyset (&act.sa_mask) < 0 ||
-      sigaction (SIGALRM, &act, &oact) < 0)
+  act.sa_mask = oset;  /* execute handler with original mask */
+  if (sigaction (SIGALRM, &act, &oact) < 0)
     return seconds;
 
   before = time ((time_t *) NULL);