diff options
author | 2018-04-04 14:05:53 -0700 | |
---|---|---|
committer | 2018-04-04 14:06:12 -0700 | |
commit | 99dbd7a975704135b0b4d20c43c57c6af90b7485 (patch) | |
tree | 8cc7b079ceb917df415c55f7c968c580d6dcb702 /src/core/ext/filters/client_channel/lb_policy/subchannel_list.h | |
parent | 2b243bf3b08eb97d969e0dcf05ac0481e1935d83 (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.h | 4 |
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> |