summaryrefslogtreecommitdiff
path: root/src/syssignal.h
diff options
context:
space:
mode:
authorJim Blandy <jimb@redhat.com>1993-03-11 07:16:39 +0000
committerJim Blandy <jimb@redhat.com>1993-03-11 07:16:39 +0000
commit985a35a39b2f99852e49bcb25d971f1a04d87670 (patch)
tree1f81ea93deac6c3cb84fff214068cd2e92d04930 /src/syssignal.h
parent6c65530f8a4b3328b29f4ced55889aa898577e4c (diff)
downloademacs-985a35a39b2f99852e49bcb25d971f1a04d87670.tar.gz
* syssignal.h (sigunblock): Add definition which works under SYSVr4.
* emacs.c (fatal_error_signal): Unblock the signal which we're handling using sigunblock.
Diffstat (limited to 'src/syssignal.h')
-rw-r--r--src/syssignal.h30
1 files changed, 21 insertions, 9 deletions
diff --git a/src/syssignal.h b/src/syssignal.h
index 486f9efd623..dddaee80924 100644
--- a/src/syssignal.h
+++ b/src/syssignal.h
@@ -34,9 +34,9 @@ extern sigset_t empty_mask, full_mask, temp_mask;
sigaddset (&_mask, SIG); \
_mask; \
})
-#else
+#else /* ! defined (__GNUC__) */
#define sigmask(SIG) (sys_sigmask (SIG))
-#endif
+#endif /* ! defined (__GNUC__) */
#define sigpause(SIG) sys_sigpause(SIG)
#define sigblock(SIG) sys_sigblock(SIG)
@@ -53,12 +53,24 @@ sigset_t sys_sigsetmask (sigset_t new_mask);
#define sys_sigdel(MASK,SIG) sigdelset(&MASK,SIG)
-#else /* not POSIX_SIGNALS */
+#else /* ! defined (POSIX_SIGNALS) */
+#ifdef USG5_4
+
+#define sigunblock(sig) (sigprocmask(SIG_SETMASK, SIGFULLMASK & ~(sig), NULL))
+
+#else
+#ifdef USG
+
+#define sigunblock(sig)
+
+#else
#define sigunblock(SIG) \
{ SIGMASKTYPE omask = sigblock (SIGEMPTYMASK); sigsetmask (omask & ~SIG); }
-#endif /* not POSIX_SIGNALS */
+#endif /* ! defined (USG) */
+#endif /* ! defined (USG5_4) */
+#endif /* ! defined (POSIX_SIGNALS) */
#ifndef SIGMASKTYPE
#define SIGMASKTYPE int
@@ -89,7 +101,7 @@ sigset_t sys_sigsetmask (sigset_t new_mask);
#define sigblockx(sig) sigblock (sigmask (sig))
#define sigunblockx(sig) sigblock (SIGEMPTYMASK)
#define sigpausex(sig) sigpause (0)
-#endif /* not BSD4_1 */
+#endif /* BSD4_1 */
#ifdef BSD4_1
#define SIGIO SIGTINT
@@ -97,7 +109,7 @@ sigset_t sys_sigsetmask (sigset_t new_mask);
#define sigblockx(sig) sighold (sig)
#define sigunblockx(sig) sigrelse (sig)
#define sigpausex(sig) sigpause (sig)
-#endif /* BSD4_1 */
+#endif /* ! defined (BSD4_1) */
/* On bsd, [man says] kill does not accept a negative number to kill a pgrp.
Must do that using the killpg call. */
@@ -113,6 +125,6 @@ sigset_t sys_sigsetmask (sigset_t new_mask);
#ifdef SIGCLD
#ifndef SIGCHLD
#define SIGCHLD SIGCLD
-#endif /* not SIGCHLD */
-#endif /* SIGCLD */
-#endif /* not VMS */
+#endif /* SIGCHLD */
+#endif /* ! defined (SIGCLD) */
+#endif /* VMS */