summaryrefslogtreecommitdiff
path: root/src/syssignal.h
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>1998-02-20 13:01:10 +0000
committerAndreas Schwab <schwab@suse.de>1998-02-20 13:01:10 +0000
commita8cffbf1a928c6d2282291b8191c6d04ce46d627 (patch)
tree61fe2a1a16c538b358f35e136010af0c65988dfd /src/syssignal.h
parent0a751735c95ded8d77f82edfe13206fc82e39a2f (diff)
downloademacs-a8cffbf1a928c6d2282291b8191c6d04ce46d627.tar.gz
(sigmask) [POSIX_SIGNALS]: Always define our own
version that returns a sigset_t. (sigpause) [POSIX_SIGNALS]: Unconditionally define in terms of sigsuspend. Don't redefine SIGEMPTYMASK. (sys_sigpause): Don't declare. (temp_mask): Don't declare.
Diffstat (limited to 'src/syssignal.h')
-rw-r--r--src/syssignal.h20
1 files changed, 7 insertions, 13 deletions
diff --git a/src/syssignal.h b/src/syssignal.h
index 23a15c6c1d2..08b989c8f13 100644
--- a/src/syssignal.h
+++ b/src/syssignal.h
@@ -30,11 +30,13 @@ Boston, MA 02111-1307, USA. */
#define SIGEMPTYMASK (empty_mask)
#define SIGFULLMASK (full_mask)
-extern sigset_t empty_mask, full_mask, temp_mask;
+extern sigset_t empty_mask, full_mask;
/* POSIX pretty much destroys any possibility of writing sigmask as a
- macro in standard C. */
-#ifndef sigmask
+ macro in standard C. We always define our own version because the
+ predefined macro in Glibc 2.1 is only provided for compatility for old
+ programs that use int as signal mask type. */
+#undef sigmask
#ifdef __GNUC__
#define sigmask(SIG) \
({ \
@@ -49,15 +51,8 @@ extern sigset_t sys_sigmask ();
#endif /* ! defined (__GNUC__) */
#endif
-#ifndef sigpause
-#define sigpause(SIG) sys_sigpause (SIG)
-#else
-/* If sigpause is predefined, with POSIX_SIGNALS,
- let's assume it needs this kind of argument.
- This is true for Glibc 2.1. */
-#undef SIGEMPTYMASK
-#define SIGEMPTYMASK sigmask (0)
-#endif
+#undef sigpause
+#define sigpause(MASK) sigsuspend (&(MASK))
#define sigblock(SIG) sys_sigblock (SIG)
#define sigunblock(SIG) sys_sigunblock (SIG)
@@ -74,7 +69,6 @@ extern sigset_t sys_sigmask ();
typedef RETSIGTYPE (*signal_handler_t) (/*int*/);
signal_handler_t sys_signal (/*int signal_number, signal_handler_t action*/);
-int sys_sigpause (/*sigset_t new_mask*/);
sigset_t sys_sigblock (/*sigset_t new_mask*/);
sigset_t sys_sigunblock (/*sigset_t new_mask*/);
sigset_t sys_sigsetmask (/*sigset_t new_mask*/);