Better check for epoll().
[silc.git] / lib / configure.ad
index a3a7eea93edffabeb59b4091ff81fe70fbe2b028..6da5e7c572f3581f8d5d0f68443dd448b760bc9c 100644 (file)
@@ -110,6 +110,27 @@ AC_SUBST(LIBSILCSERVER_AGE)
 # Check for big-endian machines
 AC_C_BIGENDIAN
 
+# Check for epoll_wait and verify that epoll_create works
+AC_CHECK_FUNC(epoll_wait,
+  [
+    AC_RUN_IFELSE(
+      [
+        #include <sys/epoll.h>
+        int main()
+        {
+          int ret = epoll_create(5);
+          if (ret < 0)
+            return 1;
+          close(ret);
+          return 0;
+        }
+      ],
+      [
+        AC_DEFINE([HAVE_EPOLL_WAIT], [1], [HAVE_EPOLL_WAIT])
+      ],
+    )
+  ])
+
 #ifdef SILC_DIST_SIM
 # SIM modules directory
 #