diff --git a/src/core/client_config/lb_policies/pick_first.c b/src/core/client_config/lb_policies/pick_first.c index 9beaeba2b49f4f89fec9d546638edaa67a7877f6..4a90b0700262a5d1bf9dd61ac479d321180ad526 100644 --- a/src/core/client_config/lb_policies/pick_first.c +++ b/src/core/client_config/lb_policies/pick_first.c @@ -368,13 +368,12 @@ void pf_notify_on_state_change(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol, void pf_ping_one(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol, grpc_closure *closure) { pick_first_lb_policy *p = (pick_first_lb_policy *)pol; - gpr_mu_lock(&p->mu); - if (p->selected) { - grpc_connected_subchannel_ping(exec_ctx, p->selected, closure); + grpc_connected_subchannel *selected = GET_SELECTED(p); + if (selected) { + grpc_connected_subchannel_ping(exec_ctx, selected, closure); } else { grpc_exec_ctx_enqueue(exec_ctx, closure, 0); } - gpr_mu_unlock(&p->mu); } static const grpc_lb_policy_vtable pick_first_lb_policy_vtable = { diff --git a/templates/test/core/end2end/end2end_defs.include b/templates/test/core/end2end/end2end_defs.include index e95bd4a8b62fb22654b87764f733762b7315d7f3..18a33b7d32973534f4e376b02bd1a57db93f9735 100644 --- a/templates/test/core/end2end/end2end_defs.include +++ b/templates/test/core/end2end/end2end_defs.include @@ -61,7 +61,7 @@ void grpc_end2end_tests(int argc, char **argv, continue; } % endfor - gpr_log(GPR_DEBUG, "not a test: '%%s'", argv[i]); + gpr_log(GPR_DEBUG, "not a test: '%s'", argv[i]); abort(); } }</%def> \ No newline at end of file diff --git a/test/core/end2end/end2end_nosec_tests.c b/test/core/end2end/end2end_nosec_tests.c index c0bea7bb365fa8aa2edc5c4be81519546724df5f..e1974a7d65814eced50a14b8ccae3df820baba3e 100644 --- a/test/core/end2end/end2end_nosec_tests.c +++ b/test/core/end2end/end2end_nosec_tests.c @@ -259,7 +259,7 @@ void grpc_end2end_tests(int argc, char **argv, trailing_metadata(config); continue; } - gpr_log(GPR_DEBUG, "not a test: '%%s'", argv[i]); + gpr_log(GPR_DEBUG, "not a test: '%s'", argv[i]); abort(); } } diff --git a/test/core/end2end/end2end_tests.c b/test/core/end2end/end2end_tests.c index 4c3a018ad2d8e05b5dceb6ad69e4411fb76c99db..271b81efeb0ec37b00cb34049430e98431d3ff01 100644 --- a/test/core/end2end/end2end_tests.c +++ b/test/core/end2end/end2end_tests.c @@ -265,7 +265,7 @@ void grpc_end2end_tests(int argc, char **argv, trailing_metadata(config); continue; } - gpr_log(GPR_DEBUG, "not a test: '%%s'", argv[i]); + gpr_log(GPR_DEBUG, "not a test: '%s'", argv[i]); abort(); } }