Skip to content

Commit

Permalink
Fix a logic bug in kqueue.c.
Browse files Browse the repository at this point in the history
Remove an unnecessary workaround for OS X 10.4 from kqueue.c. It was causing
problems on macOS Sierra.

All credit for this CL goes to mark@chromium.org.

BUG=626534, 620259

Review-Url: https://codereview.chromium.org/2134603002
Cr-Commit-Position: refs/heads/master@{#404421}
  • Loading branch information
erikchen authored and Commit bot committed Jul 8, 2016
1 parent 41e6404 commit 3b07cd4
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 22 deletions.
2 changes: 2 additions & 0 deletions base/third_party/libevent/README.chromium
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,5 @@ static library using GYP.
which is missing in the newlib-based PNaCl toolchain.
7) Stub out signal.c for nacl_helper_nonsfi. socketpair() will be prohibited
by sandbox in nacl_helper_nonsfi.
8) Remove an unnecessary workaround for OS X 10.4 from kqueue.c. It was causing
problems on macOS Sierra.
22 changes: 0 additions & 22 deletions base/third_party/libevent/kqueue.c
Original file line number Diff line number Diff line change
Expand Up @@ -140,28 +140,6 @@ kq_init(struct event_base *base)
TAILQ_INIT(&kqueueop->evsigevents[i]);
}

/* Check for Mac OS X kqueue bug. */
memset(&kqueueop->changes[0], 0, sizeof kqueueop->changes[0]);
kqueueop->changes[0].ident = -1;
kqueueop->changes[0].filter = EVFILT_READ;
kqueueop->changes[0].flags = EV_ADD;
/*
* If kqueue works, then kevent will succeed, and it will
* stick an error in events[0]. If kqueue is broken, then
* kevent will fail.
*/
if (kevent(kq,
kqueueop->changes, 1, kqueueop->events, NEVENT, NULL) != 1 ||
kqueueop->events[0].ident != -1 ||
kqueueop->events[0].flags != EV_ERROR) {
event_warn("%s: detected broken kqueue; not using.", __func__);
free(kqueueop->changes);
free(kqueueop->events);
free(kqueueop);
close(kq);
return (NULL);
}

return (kqueueop);
}

Expand Down

0 comments on commit 3b07cd4

Please sign in to comment.