diff options
author | 2015-07-06 08:35:02 -0700 | |
---|---|---|
committer | 2015-07-06 08:35:02 -0700 | |
commit | 825b21cd1f999fa55e6234c2d0d8a6375f252c42 (patch) | |
tree | 12b05fd918d8600e35e1c5bf78bf25b6d201ae3b /src/core/surface/channel_create.c | |
parent | a82fef14b3caa94c133e9c49504243e28ea2cadd (diff) |
Fix segfault
The server transport started reading fractionally too early, leading to
the accept callback not being ready in some cases.
Diffstat (limited to 'src/core/surface/channel_create.c')
-rw-r--r-- | src/core/surface/channel_create.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/core/surface/channel_create.c b/src/core/surface/channel_create.c index 09b4fb782b..e205f0a9f8 100644 --- a/src/core/surface/channel_create.c +++ b/src/core/surface/channel_create.c @@ -72,7 +72,8 @@ static void connected(void *arg, grpc_endpoint *tcp) { grpc_iomgr_closure *notify; if (tcp != NULL) { c->result->transport = grpc_create_chttp2_transport( - c->args.channel_args, tcp, NULL, 0, c->args.metadata_context, 1); + c->args.channel_args, tcp, c->args.metadata_context, 1); + grpc_chttp2_transport_start_reading(c->result->transport, NULL, 0); GPR_ASSERT(c->result->transport); c->result->filters = gpr_malloc(sizeof(grpc_channel_filter *)); c->result->filters[0] = &grpc_http_client_filter; |