|
|
|
@ -872,6 +872,10 @@ void grpc_call_initial_metadata_complete(grpc_call_element *surface_element) { |
|
|
|
|
unlock(call); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void finish_read_event(void *p, grpc_op_error error) { |
|
|
|
|
grpc_byte_buffer_destroy(p); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void finish_read(grpc_call *call, grpc_op_error error, void *tag) { |
|
|
|
|
legacy_state *ls; |
|
|
|
|
lock(call); |
|
|
|
@ -879,8 +883,8 @@ static void finish_read(grpc_call *call, grpc_op_error error, void *tag) { |
|
|
|
|
if (ls->msg_in.count == 0) { |
|
|
|
|
grpc_cq_end_read(call->cq, tag, call, do_nothing, NULL, NULL); |
|
|
|
|
} else { |
|
|
|
|
grpc_cq_end_read(call->cq, tag, call, do_nothing, NULL, |
|
|
|
|
ls->msg_in.buffers[ls->msg_in_read_idx++]); |
|
|
|
|
grpc_byte_buffer *msg = ls->msg_in.buffers[ls->msg_in_read_idx++]; |
|
|
|
|
grpc_cq_end_read(call->cq, tag, call, finish_read_event, msg, msg); |
|
|
|
|
maybe_finish_legacy(call); |
|
|
|
|
} |
|
|
|
|
unlock(call); |
|
|
|
|