From d1d0c0a876fa22cf47700173aa6c68278e2ff662 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 30 Jun 2015 09:47:25 -0700 Subject: [PATCH] Fix a bug where we can spuriously wakeup a nonexistant fd --- src/core/iomgr/pollset_multipoller_with_poll_posix.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/core/iomgr/pollset_multipoller_with_poll_posix.c b/src/core/iomgr/pollset_multipoller_with_poll_posix.c index cc062693a96..7b717bd1593 100644 --- a/src/core/iomgr/pollset_multipoller_with_poll_posix.c +++ b/src/core/iomgr/pollset_multipoller_with_poll_posix.c @@ -179,6 +179,9 @@ static void multipoll_with_poll_pollset_maybe_work( grpc_pollset_kick_consume(&pollset->kick_state, kfd); } for (i = 1; i < np; i++) { + if (h->watchers[i].fd == NULL) { + continue; + } if (h->pfds[i].revents & (POLLIN | POLLHUP | POLLERR)) { grpc_fd_become_readable(h->watchers[i].fd, allow_synchronous_callback); }