summaryrefslogtreecommitdiff
path: root/event.c
diff options
context:
space:
mode:
authorNick Grifka <nigri@microsoft.com>2020-04-22 19:44:45 -0700
committerAzat Khuzhin <azat@libevent.org>2020-05-08 23:27:04 +0300
commit83ef3216e4a9f1711f260af3889c94cbcbbefacb (patch)
treebb95689293ca520fe6b1aac597215c8e751c22a5 /event.c
parent06a11929511bebaaf40c52aaf91de397b1782ba2 (diff)
downloadlibevent-83ef3216e4a9f1711f260af3889c94cbcbbefacb.tar.gz
Add wepoll support to light up the epoll backend on Windows
libevent is lacking a scalable backend on Windows. Let's leverage the wepoll library until Windows comes up with an epoll/kqueue compete user mode API. - All regress tests pass for standard wepoll - These 2 tests fail intermittently for changelist wepoll, so disabling changelist wepoll for now http/cancel_inactive_server http/stream_in - verify target on Windows runs tests for both wepoll and win32 backends - wepoll backend preferred over win32 backend - wepoll version 1.5.6 v2: cleaner backend abstraction. Disallow wepoll on MinGW/Cygwin. v3: Add wepoll.h to dist v4: Make sure wepoll source files are excluded from cygwin/mingw builds v5: Keep win32 as default backend on windows. v6: Include wepoll in mingw builds. Verified that regress tests pass w/ WEPOLL backend. v7: Enable wepoll on mingw when building with cmake v8: Add wepoll testrunner for autotools test target
Diffstat (limited to 'event.c')
-rw-r--r--event.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/event.c b/event.c
index 29a2c6d5..66e27129 100644
--- a/event.c
+++ b/event.c
@@ -96,6 +96,9 @@ extern const struct eventop kqops;
#ifdef EVENT__HAVE_DEVPOLL
extern const struct eventop devpollops;
#endif
+#ifdef EVENT__HAVE_WEPOLL
+extern const struct eventop wepollops;
+#endif
#ifdef _WIN32
extern const struct eventop win32ops;
#endif
@@ -123,6 +126,9 @@ static const struct eventop *eventops[] = {
#ifdef _WIN32
&win32ops,
#endif
+#ifdef EVENT__HAVE_WEPOLL
+ &wepollops,
+#endif
NULL
};