From 68639a9347f5612277177b09dc2d9d73f4e06f60 Mon Sep 17 00:00:00 2001 From: Moonchild Date: Wed, 10 Jul 2024 07:43:38 +0200 Subject: [PATCH] Clean up control flow in WaitableEvent. --- ipc/chromium/src/base/waitable_event_posix.cc | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/ipc/chromium/src/base/waitable_event_posix.cc b/ipc/chromium/src/base/waitable_event_posix.cc index 149d513a62..1768e82026 100644 --- a/ipc/chromium/src/base/waitable_event_posix.cc +++ b/ipc/chromium/src/base/waitable_event_posix.cc @@ -90,15 +90,14 @@ class SyncWaiter : public WaitableEvent::Waiter { } bool Fire(WaitableEvent *signaling_event) { - lock_->Acquire(); - const bool previous_value = fired_; - fired_ = true; - if (!previous_value) - signaling_event_ = signaling_event; - lock_->Release(); + AutoLock locked(*lock_); - if (previous_value) + if (fired_) { return false; + } + + fired_ = true; + signaling_event_ = signaling_event; cv_->Broadcast();