X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;ds=inline;f=lib%2Fsys_select.in.h;h=ae2a3d23b998fd3baccd7089c3089752d6a14c7f;hb=d1fb15ba12436afdd742eaff1ec46f75ee397bda;hp=1fb2d946f683c612de724af1767e2ccf52546420;hpb=d93c1f1b00e1dea78b919c7fb7b6ddebecfcf3a5;p=gnulib.git diff --git a/lib/sys_select.in.h b/lib/sys_select.in.h index 1fb2d946f..ae2a3d23b 100644 --- a/lib/sys_select.in.h +++ b/lib/sys_select.in.h @@ -1,5 +1,5 @@ /* Substitute for . - Copyright (C) 2007-2009 Free Software Foundation, Inc. + Copyright (C) 2007-2010 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -42,12 +42,18 @@ # include /* On OSF/1 4.0, provides only a forward declaration - of 'struct timeval', and no definition of this type. */ -# include + of 'struct timeval', and no definition of this type. + But avoid namespace pollution on glibc systems. */ +# ifndef __GLIBC__ +# include +# endif /* On Solaris 10, provides an FD_ZERO implementation - that relies on memset(), but without including . */ -# include + that relies on memset(), but without including . + But avoid namespace pollution on glibc systems. */ +# ifndef __GLIBC__ +# include +# endif /* The include_next requires a split double-inclusion guard. */ # @INCLUDE_NEXT@ @NEXT_SYS_SELECT_H@ @@ -57,41 +63,43 @@ #ifndef _GL_SYS_SELECT_H #define _GL_SYS_SELECT_H -#if !@HAVE_SYS_SELECT_H@ - +#if !@HAVE_SYS_SELECT_H@ || @REPLACE_SELECT@ /* A platform that lacks . */ - # include +#endif -/* The definition of GL_LINK_WARNING is copied here. */ +/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ + +/* The definition of _GL_WARN_ON_USE is copied here. */ -# ifdef __cplusplus -extern "C" { -# endif -# if @GNULIB_SELECT@ -# if @HAVE_WINSOCK2_H@ || @REPLACE_SELECT@ +#if @GNULIB_SELECT@ +# if @HAVE_WINSOCK2_H@ || @REPLACE_SELECT@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) # 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)) +_GL_FUNCDECL_RPL (select, int, + (int, fd_set *, fd_set *, fd_set *, struct timeval *)); +_GL_CXXALIAS_RPL (select, int, + (int, fd_set *, fd_set *, fd_set *, struct timeval *)); +# else +_GL_CXXALIAS_SYS (select, int, + (int, fd_set *, fd_set *, fd_set *, struct timeval *)); # endif - -# ifdef __cplusplus -} +_GL_CXXALIASWARN (select); +#elif @HAVE_WINSOCK2_H@ +# undef select +# define select select_used_without_requesting_gnulib_module_select +#elif defined GNULIB_POSIXCHECK +# undef select +# if HAVE_RAW_DECL_SELECT +_GL_WARN_ON_USE (select, "select is not always POSIX compliant - " + "use gnulib module select for portability"); # endif - #endif + #endif /* _GL_SYS_SELECT_H */ #endif /* _GL_SYS_SELECT_H */ #endif /* OSF/1 */