diff options
author | 2015-02-02 14:43:09 -0800 | |
---|---|---|
committer | 2015-02-02 14:43:09 -0800 | |
commit | a7170ac4ad04591a5db33d5271ef6ce30662e9fd (patch) | |
tree | 5a1a49fce16622080526226ae05dbd54af551e4f /src/core/surface/call.c | |
parent | 701c5843bc7ed9c9a2baa3a908e400d48901f4f9 (diff) |
Get the recv close edge right
Diffstat (limited to 'src/core/surface/call.c')
-rw-r--r-- | src/core/surface/call.c | 8 |
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: |