diff options
author | Craig Tiller <ctiller@google.com> | 2016-07-06 17:13:56 -0700 |
---|---|---|
committer | Craig Tiller <ctiller@google.com> | 2016-07-06 17:13:56 -0700 |
commit | 42ac6dbe2052913727b29f92d5415c4a5c4b845f (patch) | |
tree | 0008d012e9042458b22ceb6ebbda7cf429d74778 /src/core/lib/iomgr | |
parent | 4ebfe9056063dc27c8e2cfced886b9d0b05bd8e2 (diff) |
Handle orphaned fds
Diffstat (limited to 'src/core/lib/iomgr')
-rw-r--r-- | src/core/lib/iomgr/ev_epoll_linux.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/core/lib/iomgr/ev_epoll_linux.c b/src/core/lib/iomgr/ev_epoll_linux.c index 0fb4399fa7..0e6cba7e4f 100644 --- a/src/core/lib/iomgr/ev_epoll_linux.c +++ b/src/core/lib/iomgr/ev_epoll_linux.c @@ -1548,6 +1548,14 @@ retry: * polling_island fields in both fd and pollset to point to the merged * polling island. */ + + if (fd->orphaned) { + gpr_mu_unlock(&fd->mu); + gpr_mu_unlock(&pollset->mu); + /* early out */ + return; + } + if (fd->polling_island == pollset->polling_island) { pi_new = fd->polling_island; if (pi_new == NULL) { |