diff options
author | Craig Tiller <craig.tiller@gmail.com> | 2015-06-02 09:05:23 -0700 |
---|---|---|
committer | Craig Tiller <craig.tiller@gmail.com> | 2015-06-02 09:05:23 -0700 |
commit | 5dde66ecac3cdcdeb362a5e0c8da450a060367df (patch) | |
tree | c709680f3c6e36966701ba2f205419cb31bf1a97 /src/core/transport/chttp2_transport.c | |
parent | f93fd05a97081626dbd78c4553b6c2e78eeba920 (diff) |
Handle reffing when a cancel or bind gets stuck in the waiting queue
Diffstat (limited to 'src/core/transport/chttp2_transport.c')
-rw-r--r-- | src/core/transport/chttp2_transport.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/core/transport/chttp2_transport.c b/src/core/transport/chttp2_transport.c index 07c5b0be0d..d9c712cc63 100644 --- a/src/core/transport/chttp2_transport.c +++ b/src/core/transport/chttp2_transport.c @@ -1162,6 +1162,13 @@ static void perform_op_locked(transport *t, stream *s, grpc_transport_op *op) { if (op->bind_pollset) { add_to_pollset_locked(t, op->bind_pollset); } + + if (op->on_consumed) { + op_closure c; + c.cb = op->on_consumed; + c.user_data = op->on_consumed_user_data; + schedule_cb(t, c, 1); + } } static void perform_op(grpc_transport *gt, grpc_stream *gs, |