about summary refs log tree commit diff
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