aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h
diff options
context:
space:
mode:
authorGravatar Mark D. Roth <roth@google.com>2018-04-04 14:05:53 -0700
committerGravatar Mark D. Roth <roth@google.com>2018-04-04 14:06:12 -0700
commit99dbd7a975704135b0b4d20c43c57c6af90b7485 (patch)
tree8cc7b079ceb917df415c55f7c968c580d6dcb702 /src/core/ext/filters/client_channel/lb_policy/subchannel_list.h
parent2b243bf3b08eb97d969e0dcf05ac0481e1935d83 (diff)
Fix error refcounting. Remove unnecessary check in PF.
Diffstat (limited to 'src/core/ext/filters/client_channel/lb_policy/subchannel_list.h')
-rw-r--r--src/core/ext/filters/client_channel/lb_policy/subchannel_list.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h b/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h
index 73d598e9f1..b3fc5fefe9 100644
--- a/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h
+++ b/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h
@@ -124,6 +124,8 @@ class SubchannelData {
if (pending_connectivity_state_unsafe_ != curr_connectivity_state_) {
curr_connectivity_state_ = pending_connectivity_state_unsafe_;
ProcessConnectivityChangeLocked(error);
+ } else {
+ GRPC_ERROR_UNREF(error);
}
}
@@ -354,7 +356,7 @@ void SubchannelData<SubchannelListType, SubchannelDataType>::
if (sd->curr_connectivity_state_ == GRPC_CHANNEL_TRANSIENT_FAILURE) {
sd->connected_subchannel_.reset();
}
- sd->ProcessConnectivityChangeLocked(error);
+ sd->ProcessConnectivityChangeLocked(GRPC_ERROR_REF(error));
}
template <typename SubchannelListType, typename SubchannelDataType>