]> Savannah Git Hosting - gnulib.git/commitdiff
sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
authorBruno Haible <bruno@clisp.org>
Thu, 1 Sep 2011 10:15:11 +0000 (12:15 +0200)
committerBruno Haible <bruno@clisp.org>
Thu, 1 Sep 2011 10:15:11 +0000 (12:15 +0200)
* lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
just include the system's header.

ChangeLog
lib/sys_select.in.h

index 2c6a3b2e201cdf3810a1649758f4a68373550f85..bee4d57308b2a99cbd9d0879561c7148f8187a26 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-09-01  Bruno Haible  <bruno@clisp.org>
+
+       sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
+       * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
+       just include the system's header.
+
 2011-08-31  Jim Meyering  <meyering@redhat.com>
 
        tests: avoid spurious assertion failure in test-float.c on ppc64
index 836a3873413c079513dcc952088981e4cce40dd0..7d43c2782b3e2d59dcc88bc929c257dadc912e9f 100644 (file)
 # define _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H
 # @INCLUDE_NEXT@ @NEXT_SYS_SELECT_H@
 
+/* On IRIX 6.5, <sys/timespec.h> includes <sys/types.h>, which includes
+   <sys/bsd_types.h>, which includes <sys/select.h>.  At this point we cannot
+   include <signal.h>, because that includes <internal/signal_core.h>, which
+   gives a syntax error because <sys/timespec.h> has not been completely
+   processed.  Simply delegate to the system's header in this case.  */
+#elif @HAVE_SYS_SELECT_H@ && defined __sgi && (defined _SYS_BSD_TYPES_H && !defined _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_BSD_TYPES_H)
+
+# define _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_BSD_TYPES_H
+# @INCLUDE_NEXT@ @NEXT_SYS_SELECT_H@
+
 #else
 
 #ifndef _@GUARD_PREFIX@_SYS_SELECT_H