[benchmark] Fix a flaky stack-use-after-return bug (#37079)

Closes #37079

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/37079 from ctiller:asan-flake ea6cda4610
PiperOrigin-RevId: 647444711
pull/37086/head
Craig Tiller 9 months ago committed by Copybara-Service
parent 43bf1afd3d
commit 8b0882e4be
  1. 13
      test/core/transport/call_spine_benchmarks.h

@ -220,12 +220,13 @@ void BM_ClientToServerStreaming(benchmark::State& state) {
handler_done.WaitForNotification();
initiator_done.WaitForNotification();
}
call.initiator.SpawnInfallible("done", [&]() {
call.initiator.Cancel();
return Empty{};
});
call.handler.SpawnInfallible("done", [&]() {
call.handler.PushServerTrailingMetadata(
call.initiator.SpawnInfallible("done",
[initiator = call.initiator]() mutable {
initiator.Cancel();
return Empty{};
});
call.handler.SpawnInfallible("done", [handler = call.handler]() mutable {
handler.PushServerTrailingMetadata(
CancelledServerMetadataFromStatus(absl::CancelledError()));
return Empty{};
});

Loading…
Cancel
Save