From df6f99e5b51a3c0786f54cb9822604ec63385400 Mon Sep 17 00:00:00 2001 From: Mark Mentovai Date: Fri, 8 Jul 2016 09:43:39 -0400 Subject: [PATCH] Check for Mac OS X 10.4 kqueue bug properly EV_ERROR is a bit in struct kevent::flags. Other bits may be set too. Actually we have osx builds on travis-ci, but it uses osx 10.9.5, and we don't have warnings there, since I guess that there is no OR'ing with previous flag in case of error, while in 10.12 there is OR. Fixes: #377 Fixes: #376 Link: https://crbug.com/626534 Link: https://travis-ci.org/libevent/libevent/jobs/141033429 --- kqueue.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kqueue.c b/kqueue.c index 1f41b5a7..a959c58a 100644 --- a/kqueue.c +++ b/kqueue.c @@ -154,7 +154,7 @@ kq_init(struct event_base *base) if (kevent(kq, kqueueop->changes, 1, kqueueop->events, NEVENT, NULL) != 1 || (int)kqueueop->events[0].ident != -1 || - kqueueop->events[0].flags != EV_ERROR) { + !(kqueueop->events[0].flags & EV_ERROR)) { event_warn("%s: detected broken kqueue; not using.", __func__); goto err; } -- 2.50.1