aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/surface/call.c
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2015-02-02 14:43:09 -0800
committerGravatar Craig Tiller <ctiller@google.com>2015-02-02 14:43:09 -0800
commita7170ac4ad04591a5db33d5271ef6ce30662e9fd (patch)
tree5a1a49fce16622080526226ae05dbd54af551e4f /src/core/surface/call.c
parent701c5843bc7ed9c9a2baa3a908e400d48901f4f9 (diff)
Get the recv close edge right
Diffstat (limited to 'src/core/surface/call.c')
-rw-r--r--src/core/surface/call.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/core/surface/call.c b/src/core/surface/call.c
index a8be3db728..96cdb9651b 100644
--- a/src/core/surface/call.c
+++ b/src/core/surface/call.c
@@ -622,9 +622,13 @@ static grpc_call_error start_ioreq(grpc_call *call, const grpc_ioreq *reqs,
}
break;
case GRPC_IOREQ_RECV_STATUS:
- case GRPC_IOREQ_RECV_CLOSE:
if (call->read_closed) {
- finish_ioreq_op(call, op, GRPC_OP_OK);
+ finish_ioreq_op(call, GRPC_IOREQ_RECV_STATUS, GRPC_OP_OK);
+ }
+ break;
+ case GRPC_IOREQ_RECV_CLOSE:
+ if (call->stream_closed) {
+ finish_ioreq_op(call, GRPC_IOREQ_RECV_CLOSE, GRPC_OP_OK);
}
break;
case GRPC_IOREQ_SEND_CLOSE: