aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar kpayson64 <kpayson@google.com>2016-08-30 08:31:18 -0700
committerGravatar GitHub <noreply@github.com>2016-08-30 08:31:18 -0700
commitbacaceb543d6c9d8208177962fd286dffe75ef72 (patch)
tree713b63a98162f5851c52cd408c67b925afa2eec7
parent58539c4f7717cb9d4efc5b0457eaefd643a0a217 (diff)
parenta0399f2a6055ca68e3849da06f8fe2e9c08d6cc7 (diff)
Merge pull request #7645 from y-zeng/fix_ev_epoll_linux
Fix fd_orphan in ev_epoll_linux.c
-rw-r--r--src/core/lib/iomgr/ev_epoll_linux.c4
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) {