|
@@ -40,12 +40,10 @@ int __sigpause (int sig_or_mask, int is_sig)
|
|
|
|
|
|
if (is_sig)
|
|
|
{
|
|
|
-//TODO: error check for sig_or_mask = BIGNUM?
|
|
|
-
|
|
|
/* The modern X/Open implementation is requested. */
|
|
|
- if (sigprocmask (0, NULL, &set) < 0
|
|
|
- /* Yes, we call `sigdelset' and not `__sigdelset'. */
|
|
|
- || sigdelset (&set, sig_or_mask) < 0)
|
|
|
+ sigprocmask (SIG_BLOCK, NULL, &set);
|
|
|
+ /* Bound-check sig_or_mask, remove it from the set. */
|
|
|
+ if (sigdelset (&set, sig_or_mask) < 0)
|
|
|
return -1;
|
|
|
}
|
|
|
else
|