summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2005-11-10 23:35:37 +0000
committerEric Andersen <andersen@codepoet.org>2005-11-10 23:35:37 +0000
commit1664f73efa9499cca3c3287cf5b7888fde8b832e (patch)
treeea239801dfcfcffaa68a875c199626c199b8a878
parente1d467b7f6d4dffd311c63f0bef4a70f3887feda (diff)
Lets not just paper over this. Add implementation of __xpg_sigpause()
-rw-r--r--include/signal.h2
-rw-r--r--libc/signal/sigpause.c6
2 files changed, 7 insertions, 1 deletions
diff --git a/include/signal.h b/include/signal.h
index e865218b0..986a9f79f 100644
--- a/include/signal.h
+++ b/include/signal.h
@@ -159,7 +159,7 @@ extern int sigpause (int __mask) __THROW __attribute_deprecated__;
# define sigpause(mask) __sigpause ((mask), 0)
#else
# ifdef __USE_XOPEN
-# if 0 /* def __GNUC__ */
+# ifdef __GNUC__
extern int sigpause (int __sig) __asm__ ("__xpg_sigpause");
# else
/* Remove a signal from the signal mask and suspend the process. */
diff --git a/libc/signal/sigpause.c b/libc/signal/sigpause.c
index 433b92b0c..20a6ecd45 100644
--- a/libc/signal/sigpause.c
+++ b/libc/signal/sigpause.c
@@ -63,3 +63,9 @@ int sigpause (int mask)
{
return __sigpause (mask, 0);
}
+
+int __xpg_sigpause (int sig)
+{
+ return __sigpause (sig, 1);
+}
+