diff options
author | Craig Tiller <craig.tiller@gmail.com> | 2015-06-01 20:31:27 -0700 |
---|---|---|
committer | Craig Tiller <craig.tiller@gmail.com> | 2015-06-01 20:31:27 -0700 |
commit | 14556ecf8c59c7eb112c79e86e5c7bc0911f4478 (patch) | |
tree | 0ff7ca7402fbd8a20b5116b6d159539cc379d450 /src/core/iomgr/pollset_posix.c | |
parent | 8e0b08a33d819d0a2523ec439d545296e1ad2086 (diff) | |
parent | 3d67c7cf45f694a793be1adacafa2cfb98ecd75f (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.c | 7 |
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); } |