diff options
author | 2016-01-20 14:16:29 -0800 | |
---|---|---|
committer | 2016-01-20 14:16:29 -0800 | |
commit | beeb4c2ad75533848ac0fca545a3b4785d8fce57 (patch) | |
tree | eed3a91f80967ab90ae4cbc559503015bd3a0483 /src/core/channel/client_channel.c | |
parent | b13a69da41ddad7880f409c53d1f55982ee79ac5 (diff) | |
parent | 4c3c397bbea2acf023950f7470fe36d2e7322cc0 (diff) |
Merge branch 'master' into tcp_listener
Diffstat (limited to 'src/core/channel/client_channel.c')
-rw-r--r-- | src/core/channel/client_channel.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/core/channel/client_channel.c b/src/core/channel/client_channel.c index 385ae3be9b..a92a6ecaf2 100644 --- a/src/core/channel/client_channel.c +++ b/src/core/channel/client_channel.c @@ -353,10 +353,13 @@ static int cc_pick_subchannel(grpc_exec_ctx *exec_ctx, void *elemp, return 1; } if (chand->lb_policy != NULL) { - int r = - grpc_lb_policy_pick(exec_ctx, chand->lb_policy, calld->pollset, - initial_metadata, connected_subchannel, on_ready); + grpc_lb_policy *lb_policy = chand->lb_policy; + int r; + GRPC_LB_POLICY_REF(lb_policy, "cc_pick_subchannel"); gpr_mu_unlock(&chand->mu_config); + r = grpc_lb_policy_pick(exec_ctx, lb_policy, calld->pollset, + initial_metadata, connected_subchannel, on_ready); + GRPC_LB_POLICY_UNREF(exec_ctx, lb_policy, "cc_pick_subchannel"); return r; } if (chand->resolver != NULL && !chand->started_resolving) { |