about summary refs log tree commit diff
path: root/signal
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-06-19 12:18:46 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-06-19 12:18:46 +0000
commited8cfb00c2fc291da1cece028bcdb05b2f4dd372 (patch)
treef7d05fe9834ab9f4a4d653ab25f98caa552bbee6 /signal
parent21f8859dd08fd231198eda4095061837d527b926 (diff)
downloadglibc-ed8cfb00c2fc291da1cece028bcdb05b2f4dd372.tar.gz
glibc-ed8cfb00c2fc291da1cece028bcdb05b2f4dd372.tar.xz
glibc-ed8cfb00c2fc291da1cece028bcdb05b2f4dd372.zip
Fix siginterrupt namespace (bug 21597).
The siginterrupt function is XSI-shaded in POSIX.  glibc wrongly
declares it in <signal.h> for non-XSI POSIX.1:2008.  This patch fixes
the conditionals (moving it into the __USE_XOPEN_EXTENDED ||
__USE_MISC block as the minimum conservative change, although it's not
clear this obsolescent function should be declared by default).

Tested for x86_64.

	[BZ #21597]
	* signal/signal.h (siginterrupt): Make declaration conditional on
	[__USE_XOPEN_EXTENDED || __USE_MISC].
Diffstat (limited to 'signal')
-rw-r--r--signal/signal.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/signal/signal.h b/signal/signal.h
index 8dfe849890..ddb79c7d98 100644
--- a/signal/signal.h
+++ b/signal/signal.h
@@ -296,11 +296,6 @@ extern int sigreturn (struct sigcontext *__scp) __THROW;
 # define __need_size_t
 # include <stddef.h>
 
-/* If INTERRUPT is nonzero, make signal SIG interrupt system calls
-   (causing them to fail with EINTR); if INTERRUPT is zero, make system
-   calls be restarted after signal SIG.  */
-extern int siginterrupt (int __sig, int __interrupt) __THROW;
-
 # include <bits/types/stack_t.h>
 # if defined __USE_XOPEN || defined __USE_XOPEN2K8
 /* This will define `ucontext_t' and `mcontext_t'.  */
@@ -309,6 +304,11 @@ extern int siginterrupt (int __sig, int __interrupt) __THROW;
 #endif /* Use POSIX.1-2008 or X/Open Unix.  */
 
 #if defined __USE_XOPEN_EXTENDED || defined __USE_MISC
+/* If INTERRUPT is nonzero, make signal SIG interrupt system calls
+   (causing them to fail with EINTR); if INTERRUPT is zero, make system
+   calls be restarted after signal SIG.  */
+extern int siginterrupt (int __sig, int __interrupt) __THROW;
+
 # include <bits/sigstack.h>
 # include <bits/ss_flags.h>