Inproc: properly handle send message that won't go to other side

pull/18136/head
Vijay Pai 6 years ago
parent 05b98a4896
commit 23f39363c4
  1. 5
      src/core/ext/transport/inproc/inproc_transport.cc

@ -1032,6 +1032,11 @@ void perform_stream_op(grpc_transport* gt, grpc_stream* gs,
} }
} else { } else {
if (error != GRPC_ERROR_NONE) { if (error != GRPC_ERROR_NONE) {
// Consume any send message that was sent here but that we are not pushing
// to the other side
if (op->send_message) {
op->payload->send_message.send_message.reset();
}
// Schedule op's closures that we didn't push to op state machine // Schedule op's closures that we didn't push to op state machine
if (op->recv_initial_metadata) { if (op->recv_initial_metadata) {
if (op->payload->recv_initial_metadata.trailing_metadata_available != if (op->payload->recv_initial_metadata.trailing_metadata_available !=

Loading…
Cancel
Save