pthread_sigmask: Ensure declaration in <signal.h>.
authorBruno Haible <bruno@clisp.org>
Fri, 8 Jul 2011 00:24:27 +0000 (02:24 +0200)
committerBruno Haible <bruno@clisp.org>
Fri, 8 Jul 2011 00:24:27 +0000 (02:24 +0200)
* lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, include
<pthread.h>.
* doc/posix-functions/pthread_sigmask.texi: Mention the header file
problem.

ChangeLog
doc/posix-functions/pthread_sigmask.texi
lib/signal.in.h

index fec1eceb95516bf278804c3d70ed0957aab8f603..865313641b0350207e87fb7e2c54c495da4da9cd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2011-07-07  Bruno Haible  <bruno@clisp.org>
+
+       pthread_sigmask: Ensure declaration in <signal.h>.
+       * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, include
+       <pthread.h>.
+       * doc/posix-functions/pthread_sigmask.texi: Mention the header file
+       problem.
+
 2011-07-07  Bruno Haible  <bruno@clisp.org>
 
        pthread_sigmask: Document the module.
index eb2d7b87d4a9cfc62cc6baf6a6cc02c448b6581c..2f62c1b70e1f5dca6863cd380cd891e35d4625c4 100644 (file)
@@ -11,6 +11,10 @@ Portability problems fixed by Gnulib:
 @item
 This function is missing on some platforms:
 Solaris 2.4, mingw, BeOS.
+@item
+This function is declared in @code{<pthread.h>} instead of @code{<signal.h>}
+on some platforms:
+MacOS X 10.3, FreeBSD 6.4, OpenBSD 3.8, OSF/1 4.0.
 @end itemize
 
 Portability problems not fixed by Gnulib:
index 6d1be8fb89847a14f54aea2a7242c7c59fc58a2e..ea227726e231872a1e841dd9b988d7a083033ec9 100644 (file)
 #ifndef _@GUARD_PREFIX@_SIGNAL_H
 #define _@GUARD_PREFIX@_SIGNAL_H
 
+/* MacOS X 10.3, FreeBSD 6.4, OpenBSD 3.8, OSF/1 4.0 declare pthread_sigmask in
+   <pthread.h>, not in <signal.h>.
+   But avoid namespace pollution on glibc systems.*/
+#if (@GNULIB_PTHREAD_SIGMASK@ || defined GNULIB_POSIXCHECK) \
+    && ((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __OpenBSD__ || defined __osf__) \
+    && ! defined __GLIBC__
+# include <pthread.h>
+#endif
+
 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
 
 /* The definition of _GL_ARG_NONNULL is copied here.  */