From 274df78541eec948e546bb98901b5bb00aaadc00 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 15 Jan 2007 07:15:47 +0000 Subject: r20788: - remove epoll configure checks from libreplace - fix epoll configure checks for the epoll and aio events backends - we should only activate the epoll backend if sys/epoll.h and epoll_create() are found - we should only activate the aio backend if sys/epoll.h, epoll_create(), libaio.h and io_getevents() are found hopefully fix the build on 'bnhtest' in the build farm... metze (This used to be commit d46a5efb03ea1df50567cad00e1589870cdb31fe) --- source4/lib/events/config.m4 | 28 +++++++++++++--------------- source4/lib/events/events_aio.c | 2 +- source4/lib/events/events_epoll.c | 2 +- source4/lib/replace/libreplace.m4 | 3 --- source4/lib/replace/system/select.h | 9 --------- 5 files changed, 15 insertions(+), 29 deletions(-) diff --git a/source4/lib/events/config.m4 b/source4/lib/events/config.m4 index 8c61f7ed42..b23407baed 100644 --- a/source4/lib/events/config.m4 +++ b/source4/lib/events/config.m4 @@ -1,19 +1,17 @@ -AC_CHECK_HEADERS(sys/epoll.h) - -# check for native Linux AIO interface -SMB_ENABLE(EVENTS_AIO, NO) -AC_CHECK_HEADERS(libaio.h) -AC_CHECK_LIB_EXT(aio, AIO_LIBS, io_getevents) -if test x"$ac_cv_header_libaio_h" = x"yes" -a x"$ac_cv_lib_ext_aio_io_getevents" = x"yes";then - SMB_ENABLE(EVENTS_AIO,YES) - AC_DEFINE(HAVE_LINUX_AIO, 1, [Whether Linux AIO is available]) -fi -SMB_EXT_LIB(LIBAIO_LINUX, $AIO_LIBS) - -# check for native Linux AIO interface +# check for EPOLL and native Linux AIO interface SMB_ENABLE(EVENTS_EPOLL, NO) +SMB_ENABLE(EVENTS_AIO, NO) AC_CHECK_HEADERS(sys/epoll.h) -if test x"$ac_cv_header_sys_epoll_h" = x"yes";then +AC_CHECK_FUNCS(epoll_create) +if test x"$ac_cv_header_sys_epoll_h" = x"yes" -a x"$ac_cv_func_epoll_create" = x"yes";then SMB_ENABLE(EVENTS_EPOLL,YES) -fi + # check for native Linux AIO interface + AC_CHECK_HEADERS(libaio.h) + AC_CHECK_LIB_EXT(aio, AIO_LIBS, io_getevents) + if test x"$ac_cv_header_libaio_h" = x"yes" -a x"$ac_cv_lib_ext_aio_io_getevents" = x"yes";then + SMB_ENABLE(EVENTS_AIO,YES) + AC_DEFINE(HAVE_LINUX_AIO, 1, [Whether Linux AIO is available]) + fi + SMB_EXT_LIB(LIBAIO_LINUX, $AIO_LIBS) +fi diff --git a/source4/lib/events/events_aio.c b/source4/lib/events/events_aio.c index 52ddadfc52..6d9dd6d753 100644 --- a/source4/lib/events/events_aio.c +++ b/source4/lib/events/events_aio.c @@ -33,10 +33,10 @@ #include "includes.h" #include "system/filesys.h" -#include "system/select.h" /* needed for WITH_EPOLL */ #include "lib/util/dlinklist.h" #include "lib/events/events.h" #include "lib/events/events_internal.h" +#include #include #define MAX_AIO_QUEUE_DEPTH 100 diff --git a/source4/lib/events/events_epoll.c b/source4/lib/events/events_epoll.c index cd894d8dff..f69b5bc6f4 100644 --- a/source4/lib/events/events_epoll.c +++ b/source4/lib/events/events_epoll.c @@ -23,10 +23,10 @@ #include "includes.h" #include "system/filesys.h" -#include "system/select.h" /* needed for WITH_EPOLL */ #include "lib/util/dlinklist.h" #include "lib/events/events.h" #include "lib/events/events_internal.h" +#include struct epoll_event_context { /* a pointer back to the generic event_context */ diff --git a/source4/lib/replace/libreplace.m4 b/source4/lib/replace/libreplace.m4 index b63c0fd471..dff6098297 100644 --- a/source4/lib/replace/libreplace.m4 +++ b/source4/lib/replace/libreplace.m4 @@ -63,9 +63,6 @@ AC_CHECK_FUNCS(pipe strftime srandom random srand rand usleep setbuffer lstat ge AC_CHECK_HEADERS(stdbool.h sys/select.h) -AC_CHECK_HEADERS(sys/epoll.h) -AC_CHECK_FUNCS(epoll_create) - AC_CHECK_TYPE(bool, [AC_DEFINE(HAVE_BOOL, 1, [Whether the bool type is available])],, [ diff --git a/source4/lib/replace/system/select.h b/source4/lib/replace/system/select.h index 0d1eabbc35..20346259c2 100644 --- a/source4/lib/replace/system/select.h +++ b/source4/lib/replace/system/select.h @@ -30,13 +30,4 @@ #define SELECT_CAST #endif -/* use epoll if it is available */ -#if defined(HAVE_EPOLL_CREATE) && defined(HAVE_SYS_EPOLL_H) -#define WITH_EPOLL 1 -#endif - -#if WITH_EPOLL -#include -#endif - #endif -- cgit