diff options
author | Yash Tibrewal <yashkt@google.com> | 2018-10-23 15:58:39 -0700 |
---|---|---|
committer | Yash Tibrewal <yashkt@google.com> | 2018-10-23 15:58:39 -0700 |
commit | 40d443de1b7cb6380e23d4fe97027f2a7541b1f8 (patch) | |
tree | 37bf122f195f84fee3eb1bc93267355432aa3632 /src/core/ext/transport | |
parent | 340bffa55560f02944dd81413aa764081a60f329 (diff) |
Fix deadlock issue in connector
Diffstat (limited to 'src/core/ext/transport')
-rw-r--r-- | src/core/ext/transport/chttp2/client/chttp2_connector.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/ext/transport/chttp2/client/chttp2_connector.cc b/src/core/ext/transport/chttp2/client/chttp2_connector.cc index 5229304fa4..cfce2280fc 100644 --- a/src/core/ext/transport/chttp2/client/chttp2_connector.cc +++ b/src/core/ext/transport/chttp2/client/chttp2_connector.cc @@ -213,9 +213,11 @@ static void chttp2_connector_connect(grpc_connector* con, GRPC_CLOSURE_INIT(&c->connected, connected, c, grpc_schedule_on_exec_ctx); GPR_ASSERT(!c->connecting); c->connecting = true; - grpc_tcp_client_connect(&c->connected, &c->endpoint, args->interested_parties, - args->channel_args, &addr, args->deadline); + grpc_closure* closure = &c->connected; + grpc_endpoint** ep = &c->endpoint; gpr_mu_unlock(&c->mu); + grpc_tcp_client_connect(closure, ep, args->interested_parties, + args->channel_args, &addr, args->deadline); } static const grpc_connector_vtable chttp2_connector_vtable = { |