From ee8143e7b3b9c3125c8c044c9ad5ee98ca44d318 Mon Sep 17 00:00:00 2001 From: David Grove Date: Thu, 23 Feb 2017 16:38:01 -0500 Subject: [PATCH] SR-4026: dispatch_test_check_evfilt_read_for_fd for epoll Implement dispatch_test_check_evfilt_read_for_fd test method for the event_epoll backend. --- tests/dispatch_test.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/tests/dispatch_test.c b/tests/dispatch_test.c index 52c61cfaf..a8f40d2bf 100644 --- a/tests/dispatch_test.c +++ b/tests/dispatch_test.c @@ -31,6 +31,8 @@ #if __has_include() #define HAS_SYS_EVENT_H 1 #include +#else +#include #endif #include @@ -65,8 +67,16 @@ dispatch_test_check_evfilt_read_for_fd(int fd) close(kq); return r > 0; #else - // TODO: Need to write a real check for epoll-backend here - return true; + struct pollfd pfd = { + .fd = fd, + .events = POLLIN, + }; + int rc; + do { + rc = poll(&pfd, 1, 0); + } while (rc == -1 && errno == EINTR); + assert(rc != -1); + return rc == 1; #endif }