diff options
author | Nick Grifka <nigri@microsoft.com> | 2020-04-22 19:44:45 -0700 |
---|---|---|
committer | Azat Khuzhin <azat@libevent.org> | 2020-05-08 23:27:04 +0300 |
commit | 83ef3216e4a9f1711f260af3889c94cbcbbefacb (patch) | |
tree | bb95689293ca520fe6b1aac597215c8e751c22a5 /event.c | |
parent | 06a11929511bebaaf40c52aaf91de397b1782ba2 (diff) | |
download | libevent-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.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -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 }; |