(__sigprocmask): Make sure SIGSETXID does not get blocked.
authordrepper <drepper>
Tue, 28 Sep 2004 22:35:44 +0000 (22:35 +0000)
committerdrepper <drepper>
Tue, 28 Sep 2004 22:35:44 +0000 (22:35 +0000)
sysdeps/unix/sysv/linux/sigprocmask.c

index e1b5756..195c0ec 100644 (file)
@@ -43,12 +43,20 @@ __sigprocmask (how, set, oset)
 #ifdef SIGCANCEL
   sigset_t local_newmask;
 
-  /* The only thing we have to make sure here is that SIGCANCEL is not
-     blocked.  */
-  if (set != NULL && __builtin_expect (__sigismember (set, SIGCANCEL), 0))
+  /* The only thing we have to make sure here is that SIGCANCEL and
+     SIGSETXID are not blocked.  */
+  if (set != NULL
+      && (__builtin_expect (__sigismember (set, SIGCANCEL), 0)
+#ifdef SIGSETXID
+         || __builtin_expect (__sigismember (set, SIGSETXID), 0)
+#endif
+         ))
     {
       local_newmask = *set;
       __sigdelset (&local_newmask, SIGCANCEL);
+#ifdef SIGSETXID
+      __sigdelset (&local_newmask, SIGSETXID);
+#endif
       set = &local_newmask;
     }
 #endif