[PATCH] <signal.h>: Make bsd_signal available with _GNU_SOURCE

Florian Weimer fweimer@redhat.com
Mon Nov 28 10:36:22 GMT 2022


The declaration does not conflict with anything.  This simplifies
porting older software to C99 compilers which do not support implicit
function declarations and which need -D_GNU_SOURCE for other function
declarations.  Using __USE_MISC does not seem appropriate here because
other systems (e.g., FreeBSD) do not declare bsd_signal.

---
 signal/signal.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/signal/signal.h b/signal/signal.h
index 78d0d819aa..d175d7c3c4 100644
--- a/signal/signal.h
+++ b/signal/signal.h
@@ -98,7 +98,8 @@ extern __sighandler_t __REDIRECT_NTH (signal,
 # endif
 #endif
 
-#if defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8
+#if (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8) \
+  || defined __USE_GNU
 /* 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)

base-commit: f704192911c6c7b65a54beab3ab369fca7609a5d



More information about the Libc-alpha mailing list