diff options
author | Mark D. Roth <roth@google.com> | 2018-02-15 12:54:02 -0800 |
---|---|---|
committer | Mark D. Roth <roth@google.com> | 2018-02-15 12:54:02 -0800 |
commit | 1b95f476cc8dc11002f9d4ab64407cf3b16f95f2 (patch) | |
tree | f4a71e7f1ccac44b5cb9d544f1ead7da22a78682 /src/core | |
parent | 782fdc745363bf415e447004498f7df90a5a2894 (diff) |
Fix refcounting bug in resolver callback.
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/ext/filters/client_channel/client_channel.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/core/ext/filters/client_channel/client_channel.cc b/src/core/ext/filters/client_channel/client_channel.cc index e1356d90b3..8aa9905d5c 100644 --- a/src/core/ext/filters/client_channel/client_channel.cc +++ b/src/core/ext/filters/client_channel/client_channel.cc @@ -574,11 +574,11 @@ static void on_resolver_result_changed_locked(void* arg, grpc_error* error) { GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING( "Got resolver result after disconnection", &error, 1), "resolver_gone"); - GRPC_CHANNEL_STACK_UNREF(chand->owning_stack, "resolver"); grpc_closure_list_fail_all(&chand->waiting_for_resolver_result_closures, GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING( "Channel disconnected", &error, 1)); GRPC_CLOSURE_LIST_SCHED(&chand->waiting_for_resolver_result_closures); + GRPC_CHANNEL_STACK_UNREF(chand->owning_stack, "resolver"); } else { // Not shutting down. grpc_connectivity_state state = GRPC_CHANNEL_TRANSIENT_FAILURE; grpc_error* state_error = |