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 +- 3 files changed, 15 insertions(+), 17 deletions(-) (limited to 'source4/lib/events') 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 */ -- cgit