diff options
-rw-r--r-- | src/pgm_socket.cpp | 8 | ||||
-rw-r--r-- | src/poll.hpp | 14 | ||||
-rw-r--r-- | src/polling.hpp | 29 | ||||
-rw-r--r-- | src/select.hpp | 20 | ||||
-rw-r--r-- | src/signaler.hpp | 38 | ||||
-rw-r--r-- | src/upoll.cpp | 32 |
6 files changed, 29 insertions, 112 deletions
diff --git a/src/pgm_socket.cpp b/src/pgm_socket.cpp index 7726259..64d337d 100644 --- a/src/pgm_socket.cpp +++ b/src/pgm_socket.cpp @@ -30,14 +30,6 @@ # if HAVE_SYS_TYPES # include <sys/types.h> # endif -# if HAVE_SYS_SELECT_H -# include <sys/select.h> -# endif -# if HAVE_POLL_H -# include <poll.h> -# elif HAVE_SYS_POLL_H -# include <sys/poll.h> -# endif #endif #include <stdlib.h> diff --git a/src/poll.hpp b/src/poll.hpp index 879f4ee..2dd67f4 100644 --- a/src/poll.hpp +++ b/src/poll.hpp @@ -28,20 +28,6 @@ #include <stddef.h> -#if HAVE_SYS_TYPES -# include <sys/types.h> -#endif - -#if HAVE_SYS_SELECT_H -# include <sys/select.h> -#endif - -#if HAVE_POLL_H -# include <poll.h> -#elif HAVE_SYS_POLL_H -# include <sys/poll.h> -#endif - #include <vector> #include "fd.hpp" diff --git a/src/polling.hpp b/src/polling.hpp index c0b2423..1854705 100644 --- a/src/polling.hpp +++ b/src/polling.hpp @@ -65,4 +65,33 @@ #error No polling mechanism available! #endif +// Conditionally include header files that might be required to use the poll() +// or select() functions + +#if defined XS_HAVE_WINDOWS // Windows-specific header files +# include "windows.h" +# include "winsock2.h" +#else // Header files for Unix-like operating systems +# if HAVE_SYS_TYPES +# include <sys/types.h> +# endif +# if HAVE_SYS_TIME_H +# include <sys/time.h> +# endif +# if HAVE_TIME_H +# include <time.h> +# endif +# if HAVE_UNISTD_H +# include <unistd.h> +# endif +# if HAVE_SYS_SELECT_H +# include <sys/select.h> +# endif +# if HAVE_POLL_H +# include <poll.h> +# elif HAVE_SYS_POLL_H +# include <sys/poll.h> +# endif #endif + +#endif // __XS_POLLING_HPP_INCLUDED__ diff --git a/src/select.hpp b/src/select.hpp index 23ca4d7..e46bd03 100644 --- a/src/select.hpp +++ b/src/select.hpp @@ -31,26 +31,6 @@ #include <stddef.h> #include <vector> -#if defined XS_HAVE_WINDOWS -# include "winsock2.h" -#else -# if HAVE_SYS_TYPES_H -# include <sys/types.h> -# endif -# if HAVE_SYS_TIME_H -# include <sys/time.h> -# endif -# if HAVE_TIME_H -# include <time.h> -# endif -# if HAVE_UNISTD_H -# include <unistd.h> -# endif -# if HAVE_SYS_SELECT_H -# include <sys/select.h> -# endif -#endif - #include "fd.hpp" #include "thread.hpp" #include "io_thread.hpp" diff --git a/src/signaler.hpp b/src/signaler.hpp index b94858f..ccb825b 100644 --- a/src/signaler.hpp +++ b/src/signaler.hpp @@ -24,44 +24,6 @@ #include "fd.hpp" #include "polling.hpp" -// On AIX, poll.h has to be included before xs.h to get consistent -// definition of pollfd structure (AIX uses 'reqevents' and 'retnevents' -// instead of 'events' and 'revents' and defines macros to map from POSIX-y -// names to AIX-specific names). -#if defined XS_USE_SYNC_POLL -# if HAVE_SYS_TYPES -# include <sys/types.h> -# endif -# if HAVE_SYS_SELECT_H -# include <sys/select.h> -# endif -# if HAVE_POLL_H -# include <poll.h> -# elif HAVE_SYS_POLL_H -# include <sys/poll.h> -# endif -#elif defined XS_USE_SYNC_SELECT -# if defined XS_HAVE_WINDOWS -# include "windows.hpp" -# else -# if HAVE_SYS_TYPES_H -# include <sys/types.h> -# endif -# if HAVE_SYS_TIME_H -# include <sys/time.h> -# endif -# if HAVE_TIME_H -# include <time.h> -# endif -# if HAVE_UNISTD_H -# include <unistd.h> -# endif -# if HAVE_SYS_SELECT_H -# include <sys/select.h> -# endif -# endif -#endif - namespace xs { diff --git a/src/upoll.cpp b/src/upoll.cpp index 4d61b77..5a6bffd 100644 --- a/src/upoll.cpp +++ b/src/upoll.cpp @@ -28,38 +28,6 @@ #include "platform.hpp" #include "polling.hpp" -// On AIX platform, poll.h has to be included first to get consistent -// definition of pollfd structure (AIX uses 'reqevents' and 'retnevents' -// instead of 'events' and 'revents' and defines macros to map from POSIX-y -// names to AIX-specific names). -#if defined XS_USE_SYNC_POLL -# if HAVE_SYS_TYPES -# include <sys/types.h> -# endif -# if HAVE_SYS_SELECT_H -# include <sys/select.h> -# endif -# if HAVE_POLL_H -# include <poll.h> -# elif HAVE_SYS_POLL_H -# include <sys/poll.h> -# endif -#endif - -#if defined XS_HAVE_WINDOWS -# include "windows.hpp" -#else -# if HAVE_SYS_TIME_H -# include <sys/time.h> -# endif -# if HAVE_TIME_H -# include <time.h> -# endif -# if HAVE_UNISTD_H -# include <unistd.h> -# endif -#endif - int xs::upoll (xs_pollitem_t *items_, int nitems_, int timeout_) { #if defined XS_USE_SYNC_POLL |