From c52edc9bae22830a0dba4128cb81a2f1261f63e9 Mon Sep 17 00:00:00 2001 From: Edwin Wu Date: Tue, 16 Sep 2025 04:45:10 -0700 Subject: [PATCH] [NC Apple coverage] Refactor Apple CountDownLatch to use idiomatic absl::Mutex patterns. PiperOrigin-RevId: 807644485 --- .../platform/implementation/apple/count_down_latch.cc | 4 ++-- .../implementation/apple/count_down_latch_test.cc | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/internal/platform/implementation/apple/count_down_latch.cc b/internal/platform/implementation/apple/count_down_latch.cc index 98c8de8f..69641502 100644 --- a/internal/platform/implementation/apple/count_down_latch.cc +++ b/internal/platform/implementation/apple/count_down_latch.cc @@ -26,9 +26,9 @@ Exception CountDownLatch::Await() { } ExceptionOr CountDownLatch::Await(absl::Duration timeout) { - bool condition = mutex_.LockWhenWithTimeout( + absl::MutexLock lock(&mutex_); + bool condition = mutex_.AwaitWithTimeout( absl::Condition(IsZeroOrNegative, &count_), timeout); - mutex_.Unlock(); return ExceptionOr(condition); } diff --git a/internal/platform/implementation/apple/count_down_latch_test.cc b/internal/platform/implementation/apple/count_down_latch_test.cc index 77b655be..3b26af10 100644 --- a/internal/platform/implementation/apple/count_down_latch_test.cc +++ b/internal/platform/implementation/apple/count_down_latch_test.cc @@ -79,6 +79,15 @@ TEST(CountDownLatchTest, InitialCountNegativeAwaitDoesNotBlock) { EXPECT_TRUE(response.Ok()); } +TEST(CountDownLatchTest, CountDown) { + CountDownLatch latch(2); + latch.CountDown(); + latch.CountDown(); + auto response = latch.Await(absl::Milliseconds(100)); + EXPECT_TRUE(response.ok()); + EXPECT_TRUE(response.result()); +} + } // namespace } // namespace apple } // namespace nearby