aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Moellmann2000-06-20 18:31:04 +0000
committerGerd Moellmann2000-06-20 18:31:04 +0000
commit094d2b0ea825865bfc076b6667db6973d673385c (patch)
treedf3227e6170b120de0f493a1307faaaa4721645f
parent6a9f1263c6c7911803f91058147d601d12a03848 (diff)
downloademacs-094d2b0ea825865bfc076b6667db6973d673385c.tar.gz
emacs-094d2b0ea825865bfc076b6667db6973d673385c.zip
(sigblock, sigunblock) [USG5_4]: Set
sigprocmask_set, and pass a pointer to it to sigprocmask.
-rw-r--r--src/syssignal.h10
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));
78#else /* ! defined (POSIX_SIGNALS) */ 78#else /* ! defined (POSIX_SIGNALS) */
79#ifdef USG5_4 79#ifdef USG5_4
80 80
81extern SIGMASKTYPE sigprocmask_set;
82
81#ifndef sigblock 83#ifndef sigblock
82#define sigblock(sig) (sigprocmask (SIG_BLOCK, SIGEMPTYMASK | sig, NULL)) 84#define sigblock(sig) \
85 (sigprocmask_set = SIGEMPTYMASK | (sig), \
86 sigprocmask (SIG_BLOCK, &sigprocmask_set, NULL))
83#endif 87#endif
84 88
85#define sigunblock(sig) (sigprocmask (SIG_SETMASK, SIGFULLMASK & ~(sig), NULL)) 89#define sigunblock(sig) \
90 (sigprocmask_set = SIGFULLMASK & ~(sig), \
91 sigprocmask (SIG_SETMASK, &sigprocmask_set, NULL))
86 92
87#else 93#else
88#ifdef USG 94#ifdef USG