Merge pull request #2312 from ctiller/help-help-im-stuck-and-i-cant-reach-my-tcp-connection

Handle settings frame making a stream writable
pull/2362/head
Nicolas Noble 10 years ago
commit 909f3b4c4d
  1. 8
      src/core/transport/chttp2_transport.c

@ -876,11 +876,19 @@ static void update_global_window(void *args, gpr_uint32 id, void *stream) {
grpc_chttp2_stream *s = stream; grpc_chttp2_stream *s = stream;
grpc_chttp2_transport_global *transport_global = &t->global; grpc_chttp2_transport_global *transport_global = &t->global;
grpc_chttp2_stream_global *stream_global = &s->global; grpc_chttp2_stream_global *stream_global = &s->global;
int was_zero;
int is_zero;
GRPC_CHTTP2_FLOWCTL_TRACE_STREAM("settings", transport_global, stream_global, GRPC_CHTTP2_FLOWCTL_TRACE_STREAM("settings", transport_global, stream_global,
outgoing_window, outgoing_window,
t->parsing.initial_window_update); t->parsing.initial_window_update);
was_zero = stream_global->outgoing_window <= 0;
stream_global->outgoing_window += t->parsing.initial_window_update; stream_global->outgoing_window += t->parsing.initial_window_update;
is_zero = stream_global->outgoing_window <= 0;
if (was_zero && !is_zero) {
grpc_chttp2_list_add_writable_stream(transport_global, stream_global);
}
} }
static void read_error_locked(grpc_chttp2_transport *t) { static void read_error_locked(grpc_chttp2_transport *t) {

Loading…
Cancel
Save