summaryrefslogtreecommitdiff
path: root/grpc/src/core/ext/filters/client_channel/lb_policy.cc
diff options
context:
space:
mode:
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.cc5
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]() {