summaryrefslogtreecommitdiff
path: root/source4/lib/events/config.m4
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2007-01-05 09:35:49 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:36:50 -0500
commitb213b70c089046f426e1e3f2f733e42a02e2cbfe (patch)
treea7f76bc62aa974810e691ad1715cc5900bba09ed /source4/lib/events/config.m4
parent9698b2c2821986fdf2bb66dc4a52b2d50fbea151 (diff)
downloadsamba-b213b70c089046f426e1e3f2f733e42a02e2cbfe.tar.gz
samba-b213b70c089046f426e1e3f2f733e42a02e2cbfe.tar.bz2
samba-b213b70c089046f426e1e3f2f733e42a02e2cbfe.zip
r20539: - split the common timer related events code into events_timed.c
- make it easier to plug in a new events backend - add simpler 'select' and 'epoll' backends This is part of the effort to add good AIO support. The events_aio.c backend is done, but sometimes dies with a SEGV, which is why it isn't enabled yet. (This used to be commit 934f18283dbc7958944931a93a854526bcd54884)
Diffstat (limited to 'source4/lib/events/config.m4')
-rw-r--r--source4/lib/events/config.m419
1 files changed, 18 insertions, 1 deletions
diff --git a/source4/lib/events/config.m4 b/source4/lib/events/config.m4
index 6e4095d5b8..8c61f7ed42 100644
--- a/source4/lib/events/config.m4
+++ b/source4/lib/events/config.m4
@@ -1,2 +1,19 @@
AC_CHECK_HEADERS(sys/epoll.h)
-AC_CHECK_FUNCS(epoll_create)
+
+# 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
+SMB_ENABLE(EVENTS_EPOLL, NO)
+AC_CHECK_HEADERS(sys/epoll.h)
+if test x"$ac_cv_header_sys_epoll_h" = x"yes";then
+ SMB_ENABLE(EVENTS_EPOLL,YES)
+fi
+