This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Fix sigwait namespace (bug 21550)
- From: Joseph Myers <joseph at codesourcery dot com>
- To: <libc-alpha at sourceware dot org>
- Date: Mon, 5 Jun 2017 15:57:09 +0000
- Subject: Fix sigwait namespace (bug 21550)
- Authentication-results: sourceware.org; auth=none
sigwait was added to POSIX in 1995; it is not in older POSIX versions
or XPG4 / XPG4.2. Thus it should be declared only if
__USE_POSIX199506; signal.h wrongly declares it for __USE_POSIX.
(sigwaitinfo is correctly conditioned on __USE_POSIX199309.) This
patch fixes the condition on the declaration of sigwait.
Tested for x86_64. Because of other namespace problems this does not
allow any conform/ XFAILs to be removed.
2017-06-05 Joseph Myers <joseph@codesourcery.com>
[BZ #21550]
* signal/signal.h (sigwait): Only declare if [__USE_POSIX199506].
diff --git a/signal/signal.h b/signal/signal.h
index b311473..dbe3029 100644
--- a/signal/signal.h
+++ b/signal/signal.h
@@ -240,12 +240,14 @@ extern int sigaction (int __sig, const struct sigaction *__restrict __act,
extern int sigpending (sigset_t *__set) __THROW __nonnull ((1));
+# ifdef __USE_POSIX199506
/* Select any of pending signals from SET or wait for any to arrive.
This function is a cancellation point and therefore not marked with
__THROW. */
extern int sigwait (const sigset_t *__restrict __set, int *__restrict __sig)
__nonnull ((1, 2));
+# endif /* Use POSIX 1995. */
# ifdef __USE_POSIX199309
/* Select any of pending signals from SET and place information in INFO.
--
Joseph S. Myers
joseph@codesourcery.com