diff options
author | 2015-02-05 17:04:51 -0800 | |
---|---|---|
committer | 2015-02-05 17:04:51 -0800 | |
commit | 3054756462f41e6811d7866bd231982f0613279f (patch) | |
tree | 5fed6688a3a7956840e1b493ed89f4b4652ac96c /src/core/surface/call.c | |
parent | 16c5032fdb487d744f26721a876b0f03e8b566f9 (diff) |
Fix in-flight cancellations
Diffstat (limited to 'src/core/surface/call.c')
-rw-r--r-- | src/core/surface/call.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/surface/call.c b/src/core/surface/call.c index b47d5f4aec..bcb7c87733 100644 --- a/src/core/surface/call.c +++ b/src/core/surface/call.c @@ -297,6 +297,10 @@ static void set_status_code(grpc_call *call, status_source source, gpr_uint32 status) { call->status[source].is_set = 1; call->status[source].code = status; + + if (status != GRPC_OP_OK) { + grpc_bbq_flush(&call->incoming_queue); + } } static void set_status_details(grpc_call *call, status_source source, |