aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/iomgr/pollset_posix.c
diff options
context:
space:
mode:
authorGravatar Craig Tiller <craig.tiller@gmail.com>2015-06-01 20:31:27 -0700
committerGravatar Craig Tiller <craig.tiller@gmail.com>2015-06-01 20:31:27 -0700
commit14556ecf8c59c7eb112c79e86e5c7bc0911f4478 (patch)
tree0ff7ca7402fbd8a20b5116b6d159539cc379d450 /src/core/iomgr/pollset_posix.c
parent8e0b08a33d819d0a2523ec439d545296e1ad2086 (diff)
parent3d67c7cf45f694a793be1adacafa2cfb98ecd75f (diff)
Merge branch 'count-the-things' into we-dont-need-no-backup
Conflicts: Makefile src/core/iomgr/pollset_posix.c src/core/surface/call.c src/core/surface/channel.c src/core/surface/server.c src/python/src/grpc/_adapter/_low_test.py tools/doxygen/Doxyfile.core.internal
Diffstat (limited to 'src/core/iomgr/pollset_posix.c')
-rw-r--r--src/core/iomgr/pollset_posix.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/core/iomgr/pollset_posix.c b/src/core/iomgr/pollset_posix.c
index 96f8acfd7e..6ffba4dbac 100644
--- a/src/core/iomgr/pollset_posix.c
+++ b/src/core/iomgr/pollset_posix.c
@@ -193,6 +193,7 @@ typedef struct grpc_unary_promote_args {
const grpc_pollset_vtable *original_vtable;
grpc_pollset *pollset;
grpc_fd *fd;
+ grpc_iomgr_closure promotion_closure;
} grpc_unary_promote_args;
static void basic_do_promote(void *args, int success) {
@@ -215,7 +216,7 @@ static void basic_do_promote(void *args, int success) {
/* First we need to ensure that nobody is polling concurrently */
if (pollset->counter != 0) {
grpc_pollset_kick(pollset);
- grpc_iomgr_add_callback(basic_do_promote, up_args);
+ grpc_iomgr_add_callback(&up_args->promotion_closure);
gpr_mu_unlock(&pollset->mu);
return;
}
@@ -302,7 +303,9 @@ static void basic_pollset_add_fd(grpc_pollset *pollset, grpc_fd *fd) {
up_args->pollset = pollset;
up_args->fd = fd;
up_args->original_vtable = pollset->vtable;
- grpc_iomgr_add_callback(basic_do_promote, up_args);
+ up_args->promotion_closure.cb = unary_poll_do_promote;
+ up_args->promotion_closure.cb_arg = up_args;
+ grpc_iomgr_add_callback(&up_args->promotion_closure);
grpc_pollset_kick(pollset);
}