diff options
Diffstat (limited to 'grpc/src/core/ext/filters/client_channel/lb_policy.cc')
-rw-r--r-- | grpc/src/core/ext/filters/client_channel/lb_policy.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/grpc/src/core/ext/filters/client_channel/lb_policy.cc b/grpc/src/core/ext/filters/client_channel/lb_policy.cc index 4ef8cbb8..b9272249 100644 --- a/grpc/src/core/ext/filters/client_channel/lb_policy.cc +++ b/grpc/src/core/ext/filters/client_channel/lb_policy.cc @@ -70,6 +70,9 @@ LoadBalancingPolicy::UpdateArgs::UpdateArgs(UpdateArgs&& other) noexcept { LoadBalancingPolicy::UpdateArgs& LoadBalancingPolicy::UpdateArgs::operator=( const UpdateArgs& other) { + if (&other == this) { + return *this; + } addresses = other.addresses; config = other.config; grpc_channel_args_destroy(args); @@ -110,7 +113,7 @@ LoadBalancingPolicy::PickResult LoadBalancingPolicy::QueuePicker::Pick( auto* parent = parent_->Ref().release(); // ref held by lambda. ExecCtx::Run(DEBUG_LOCATION, GRPC_CLOSURE_CREATE( - [](void* arg, grpc_error* /*error*/) { + [](void* arg, grpc_error_handle /*error*/) { auto* parent = static_cast<LoadBalancingPolicy*>(arg); parent->work_serializer()->Run( [parent]() { |