Fix signal.h bsd_signal namespace (bug 21445)

Joseph Myers joseph@codesourcery.com
Fri Apr 28 17:17:00 GMT 2017


signal.h declares bsd_signal for __USE_XOPEN.  But this function was
obsoleted in the 2001 edition of POSIX and removed in the 2008
edition, so it should not be declared when the 2008 edition is in use.
This patch fixes the conditionals accordingly.  (This does not fix any
conform/ test failures because of other namespace issues in signal.h.)

Tested for x86_64.

2017-04-28  Joseph Myers  <joseph@codesourcery.com>

	[BZ #21445]
	* signal/signal.h [__USE_XOPEN2K8] (bsd_signal): Do not declare.

diff --git a/signal/signal.h b/signal/signal.h
index 84f2a1f..6db2d2f 100644
--- a/signal/signal.h
+++ b/signal/signal.h
@@ -108,7 +108,7 @@ extern __sighandler_t __REDIRECT_NTH (signal,
 # endif
 #endif
 
-#ifdef __USE_XOPEN
+#if defined __USE_XOPEN && !defined __USE_XOPEN2K8
 /* The X/Open definition of `signal' conflicts with the BSD version.
    So they defined another function `bsd_signal'.  */
 extern __sighandler_t bsd_signal (int __sig, __sighandler_t __handler)

-- 
Joseph S. Myers
joseph@codesourcery.com



More information about the Libc-alpha mailing list