aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/surface/call.c
diff options
context:
space:
mode:
authorGravatar Craig Tiller <craig.tiller@gmail.com>2015-02-05 17:04:51 -0800
committerGravatar Craig Tiller <craig.tiller@gmail.com>2015-02-05 17:04:51 -0800
commit3054756462f41e6811d7866bd231982f0613279f (patch)
tree5fed6688a3a7956840e1b493ed89f4b4652ac96c /src/core/surface/call.c
parent16c5032fdb487d744f26721a876b0f03e8b566f9 (diff)
Fix in-flight cancellations
Diffstat (limited to 'src/core/surface/call.c')
-rw-r--r--src/core/surface/call.c4
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,