|
|
@ -234,6 +234,7 @@ static void disconnect(grpc_exec_ctx *exec_ctx, grpc_subchannel *c) { |
|
|
|
gpr_mu_lock(&c->mu); |
|
|
|
gpr_mu_lock(&c->mu); |
|
|
|
GPR_ASSERT(!c->disconnected); |
|
|
|
GPR_ASSERT(!c->disconnected); |
|
|
|
c->disconnected = 1; |
|
|
|
c->disconnected = 1; |
|
|
|
|
|
|
|
grpc_connector_shutdown(exec_ctx, c->connector); |
|
|
|
con = GET_CONNECTED_SUBCHANNEL(c, no_barrier); |
|
|
|
con = GET_CONNECTED_SUBCHANNEL(c, no_barrier); |
|
|
|
if (con != NULL) { |
|
|
|
if (con != NULL) { |
|
|
|
GRPC_CONNECTED_SUBCHANNEL_UNREF(exec_ctx, con, "connection"); |
|
|
|
GRPC_CONNECTED_SUBCHANNEL_UNREF(exec_ctx, con, "connection"); |
|
|
|