diff --git a/src/core/client_config/subchannel.c b/src/core/client_config/subchannel.c index 9f802f1cc39fa66b99ed95c9bfd7198bdf198652..a0e51d57ec4c2d425cf3ea08d92a919e9fa32450 100644 --- a/src/core/client_config/subchannel.c +++ b/src/core/client_config/subchannel.c @@ -234,6 +234,7 @@ static void disconnect(grpc_exec_ctx *exec_ctx, grpc_subchannel *c) { gpr_mu_lock(&c->mu); GPR_ASSERT(!c->disconnected); c->disconnected = 1; + grpc_connector_shutdown(exec_ctx, c->connector); con = GET_CONNECTED_SUBCHANNEL(c, no_barrier); if (con != NULL) { GRPC_CONNECTED_SUBCHANNEL_UNREF(exec_ctx, con, "connection");