diff options
author | Gerd Moellmann <gerd@gnu.org> | 2000-06-20 18:31:04 +0000 |
---|---|---|
committer | Gerd Moellmann <gerd@gnu.org> | 2000-06-20 18:31:04 +0000 |
commit | 094d2b0ea825865bfc076b6667db6973d673385c (patch) | |
tree | df3227e6170b120de0f493a1307faaaa4721645f /src/syssignal.h | |
parent | 6a9f1263c6c7911803f91058147d601d12a03848 (diff) | |
download | emacs-094d2b0ea825865bfc076b6667db6973d673385c.tar.gz emacs-094d2b0ea825865bfc076b6667db6973d673385c.tar.bz2 emacs-094d2b0ea825865bfc076b6667db6973d673385c.zip |
(sigblock, sigunblock) [USG5_4]: Set
sigprocmask_set, and pass a pointer to it to sigprocmask.
Diffstat (limited to 'src/syssignal.h')
-rw-r--r-- | src/syssignal.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/syssignal.h b/src/syssignal.h index 66e6ffa61fc..26e10edd5b9 100644 --- a/src/syssignal.h +++ b/src/syssignal.h @@ -78,11 +78,17 @@ sigset_t sys_sigsetmask P_ ((sigset_t new_mask)); #else /* ! defined (POSIX_SIGNALS) */ #ifdef USG5_4 +extern SIGMASKTYPE sigprocmask_set; + #ifndef sigblock -#define sigblock(sig) (sigprocmask (SIG_BLOCK, SIGEMPTYMASK | sig, NULL)) +#define sigblock(sig) \ + (sigprocmask_set = SIGEMPTYMASK | (sig), \ + sigprocmask (SIG_BLOCK, &sigprocmask_set, NULL)) #endif -#define sigunblock(sig) (sigprocmask (SIG_SETMASK, SIGFULLMASK & ~(sig), NULL)) +#define sigunblock(sig) \ + (sigprocmask_set = SIGFULLMASK & ~(sig), \ + sigprocmask (SIG_SETMASK, &sigprocmask_set, NULL)) #else #ifdef USG |