diff options
author | kpayson64 <kpayson@google.com> | 2016-08-30 08:31:18 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-30 08:31:18 -0700 |
commit | bacaceb543d6c9d8208177962fd286dffe75ef72 (patch) | |
tree | 713b63a98162f5851c52cd408c67b925afa2eec7 /src | |
parent | 58539c4f7717cb9d4efc5b0457eaefd643a0a217 (diff) | |
parent | a0399f2a6055ca68e3849da06f8fe2e9c08d6cc7 (diff) |
Merge pull request #7645 from y-zeng/fix_ev_epoll_linux
Fix fd_orphan in ev_epoll_linux.c
Diffstat (limited to 'src')
-rw-r--r-- | src/core/lib/iomgr/ev_epoll_linux.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/core/lib/iomgr/ev_epoll_linux.c b/src/core/lib/iomgr/ev_epoll_linux.c index 27264694d1..eba347125e 100644 --- a/src/core/lib/iomgr/ev_epoll_linux.c +++ b/src/core/lib/iomgr/ev_epoll_linux.c @@ -928,7 +928,8 @@ static void fd_orphan(grpc_exec_ctx *exec_ctx, grpc_fd *fd, fd->polling_island = NULL; } - grpc_exec_ctx_sched(exec_ctx, fd->on_done_closure, error, NULL); + grpc_exec_ctx_sched(exec_ctx, fd->on_done_closure, GRPC_ERROR_REF(error), + NULL); gpr_mu_unlock(&fd->mu); UNREF_BY(fd, 2, reason); /* Drop the reference */ @@ -940,6 +941,7 @@ static void fd_orphan(grpc_exec_ctx *exec_ctx, grpc_fd *fd, PI_UNREF(exec_ctx, unref_pi, "fd_orphan"); } GRPC_LOG_IF_ERROR("fd_orphan", GRPC_ERROR_REF(error)); + GRPC_ERROR_UNREF(error); } static grpc_error *fd_shutdown_error(bool shutdown) { |