summaryrefslogtreecommitdiff
path: root/signal
diff options
context:
space:
mode:
Diffstat (limited to 'signal')
-rw-r--r--signal/signal.h22
1 files changed, 7 insertions, 15 deletions
diff --git a/signal/signal.h b/signal/signal.h
index ec28b3101b..b698d14bb6 100644
--- a/signal/signal.h
+++ b/signal/signal.h
@@ -158,28 +158,20 @@ extern void psiginfo (const siginfo_t *__pinfo, const char *__s);
-/* The `sigpause' function has two different interfaces. The original
- BSD definition defines the argument as a mask of the signal, while
- the more modern interface in X/Open defines it as the signal
- number. We go with the BSD version unless the user explicitly
- selects the X/Open version.
+/* The `sigpause' function in X/Open defines the argument as the
+ signal number. This requires redirecting to another function
+ because the default version in glibc uses an old BSD interface.
This function is a cancellation point and therefore not marked with
__THROW. */
extern int __sigpause (int __sig_or_mask, int __is_sig);
-#ifdef __FAVOR_BSD
-/* Set the mask of blocked signals to MASK,
- wait for a signal to arrive, and then restore the mask. */
-extern int sigpause (int __mask) __THROW __attribute_deprecated__;
-#else
-# ifdef __USE_XOPEN
-# ifdef __GNUC__
+#ifdef __USE_XOPEN
+# ifdef __GNUC__
extern int sigpause (int __sig) __asm__ ("__xpg_sigpause");
-# else
+# else
/* Remove a signal from the signal mask and suspend the process. */
-# define sigpause(sig) __sigpause ((sig), 1)
-# endif
+# define sigpause(sig) __sigpause ((sig), 1)
# endif
#endif