aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2015-12-16 19:40:49 -0800
committerGravatar Craig Tiller <ctiller@google.com>2015-12-16 19:40:49 -0800
commit8a09593639e797e609d7044e8230c2c2a73fcdcc (patch)
tree534bb28b061df9b003aaff3e3fdcfd618a0f6535 /src
parent50788ac987e4351e3012673dcb2c1da52758ce7d (diff)
Fix flow control for unstarted streams
Diffstat (limited to 'src')
-rw-r--r--src/core/transport/chttp2_transport.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/core/transport/chttp2_transport.c b/src/core/transport/chttp2_transport.c
index fd6fbe1c21..4d1a5d9bcf 100644
--- a/src/core/transport/chttp2_transport.c
+++ b/src/core/transport/chttp2_transport.c
@@ -872,7 +872,9 @@ static void perform_stream_op_locked(
GPR_ASSERT(stream_global->recv_message_ready == NULL);
stream_global->recv_message_ready = op->recv_message_ready;
stream_global->recv_message = op->recv_message;
- if (stream_global->incoming_frames.head == NULL || stream_global->incoming_frames.head->is_tail) {
+ if (stream_global->id != 0 &&
+ (stream_global->incoming_frames.head == NULL ||
+ stream_global->incoming_frames.head->is_tail)) {
incoming_byte_stream_update_flow_control(transport_global, stream_global, transport_global->stream_lookahead, 0);
}
grpc_chttp2_list_add_check_read_ops(transport_global, stream_global);