diff options
author | Craig Tiller <ctiller@google.com> | 2016-04-23 12:50:21 -0700 |
---|---|---|
committer | Craig Tiller <ctiller@google.com> | 2016-04-23 12:50:21 -0700 |
commit | b12d22affae7b50c7d5a816a4bb682b57359164a (patch) | |
tree | 4dc9a71e5ab448ccbb41fda0b9e5a141486fab56 /src/core | |
parent | af4063ba911cc7867b4ca776a8f0b60835b6818b (diff) |
Fix memory leak
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/ext/client_config/client_channel.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/ext/client_config/client_channel.c b/src/core/ext/client_config/client_channel.c index 06365df587..095952df57 100644 --- a/src/core/ext/client_config/client_channel.c +++ b/src/core/ext/client_config/client_channel.c @@ -297,6 +297,10 @@ static void cc_start_transport_op(grpc_exec_ctx *exec_ctx, grpc_resolver_shutdown(exec_ctx, chand->resolver); GRPC_RESOLVER_UNREF(exec_ctx, chand->resolver, "channel"); chand->resolver = NULL; + if (!chand->started_resolving) { + grpc_closure_list_fail_all(&chand->waiting_for_config_closures); + grpc_exec_ctx_enqueue_list(exec_ctx, &chand->waiting_for_config_closures, NULL); + } if (chand->lb_policy != NULL) { grpc_pollset_set_del_pollset_set(exec_ctx, chand->lb_policy->interested_parties, |