diff options
Diffstat (limited to 'gnulib/lib/sys_select.in.h')
-rw-r--r-- | gnulib/lib/sys_select.in.h | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/gnulib/lib/sys_select.in.h b/gnulib/lib/sys_select.in.h index b35bf6616..f427dcc55 100644 --- a/gnulib/lib/sys_select.in.h +++ b/gnulib/lib/sys_select.in.h @@ -1,5 +1,5 @@ /* Substitute for <sys/select.h>. - Copyright (C) 2007 Free Software Foundation, Inc. + Copyright (C) 2007-2008 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by @@ -19,10 +19,18 @@ #if @HAVE_SYS_SELECT_H@ +# if __GNUC__ >= 3 +@PRAGMA_SYSTEM_HEADER@ +# endif + /* On many platforms, <sys/select.h> assumes prior inclusion of <sys/types.h>. */ # include <sys/types.h> +/* On OSF/1 4.0, <sys/select.h> provides only a forward declaration + of 'struct timeval', and no definition of this type.. */ +# include <sys/time.h> + /* The include_next requires a split double-inclusion guard. */ # @INCLUDE_NEXT@ @NEXT_SYS_SELECT_H@ @@ -37,6 +45,33 @@ # include <sys/socket.h> +/* The definition of GL_LINK_WARNING is copied here. */ + +# ifdef __cplusplus +extern "C" { +# endif + +# if @GNULIB_SELECT@ +# if @HAVE_WINSOCK2_H@ +# undef select +# define select rpl_select +extern int rpl_select (int, fd_set *, fd_set *, fd_set *, struct timeval *); +# endif +# elif @HAVE_WINSOCK2_H@ +# undef select +# define select select_used_without_requesting_gnulib_module_select +# elif defined GNULIB_POSIXCHECK +# undef select +# define select(n,r,w,e,t) \ + (GL_LINK_WARNING ("select is not always POSIX compliant - " \ + "use gnulib module select for portability"), \ + select (n, r, w, e, t)) +# endif + +# ifdef __cplusplus +} +# endif + #endif #endif /* _GL_SYS_SELECT_H */ |