123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #include <signal.h>
- #define __need_NULL
- #include <stddef.h>
- #include <cancel.h>
- #include "sigset-cvt-mask.h"
- static int __sigpause (int sig_or_mask, int is_sig)
- {
- sigset_t set;
- if (is_sig)
- {
-
- sigprocmask (SIG_BLOCK, NULL, &set);
-
- if (sigdelset (&set, sig_or_mask) < 0)
- return -1;
- }
- else
- sigset_set_old_mask (&set, sig_or_mask);
-
-
- return __NC(sigsuspend)(&set);
- }
- int __bsd_sigpause(int mask);
- int __bsd_sigpause(int mask)
- {
- return __sigpause(mask, 0);
- }
- static int __NC(sigpause)(int sig)
- {
- return __sigpause(sig, 1);
- }
- CANCELLABLE_SYSCALL(int, sigpause, (int sig), (sig))
|