From 3df7b52a6ada51a72a23796b844549a7b282f1b8 Mon Sep 17 00:00:00 2001 From: Abseil Team Date: Fri, 15 Nov 2019 08:07:12 -0800 Subject: Export of internal Abseil changes -- 3a871e2cd854a46770a9416189953b2b38980bcf by Andy Getzendanner : Import of CCTZ from GitHub. PiperOrigin-RevId: 280660534 -- f5a155fb056dcf68b089c21aebb5bf5159dc0eb3 by Tom Manshreck : Nit: fix format of algorithm.h comments PiperOrigin-RevId: 280474139 -- 08b117a18353c0daf51b33b45100e5a007e5ab0c by Abseil Team : Allow absl::Notification::HasBeenNotified to be inlined. PiperOrigin-RevId: 280453271 -- 26d33dd2bad72945f1987f7b2669dbec3a6247e6 by Derek Mauro : Fix unused variable warnings on Windows PiperOrigin-RevId: 280324417 -- 907e9b23029be683af3b443bafd6a577a595922f by Abseil Team : PeriodicSampler implementation (for internal-use only) PiperOrigin-RevId: 280257168 GitOrigin-RevId: 3a871e2cd854a46770a9416189953b2b38980bcf Change-Id: I6e2978cae22a6adc41c0577e5c21355e9db7c8f5 --- absl/synchronization/notification.cc | 9 --------- absl/synchronization/notification.h | 9 ++++++++- 2 files changed, 8 insertions(+), 10 deletions(-) (limited to 'absl/synchronization') diff --git a/absl/synchronization/notification.cc b/absl/synchronization/notification.cc index 53ace00..1eb7f41 100644 --- a/absl/synchronization/notification.cc +++ b/absl/synchronization/notification.cc @@ -44,15 +44,6 @@ Notification::~Notification() { MutexLock l(&this->mutex_); } -static inline bool HasBeenNotifiedInternal( - const std::atomic *notified_yet) { - return notified_yet->load(std::memory_order_acquire); -} - -bool Notification::HasBeenNotified() const { - return HasBeenNotifiedInternal(&this->notified_yet_); -} - void Notification::WaitForNotification() const { if (!HasBeenNotifiedInternal(&this->notified_yet_)) { this->mutex_.LockWhen(Condition(&HasBeenNotifiedInternal, diff --git a/absl/synchronization/notification.h b/absl/synchronization/notification.h index 82d111a..36c2ce3 100644 --- a/absl/synchronization/notification.h +++ b/absl/synchronization/notification.h @@ -73,7 +73,9 @@ class Notification { // Notification::HasBeenNotified() // // Returns the value of the notification's internal "notified" state. - bool HasBeenNotified() const; + bool HasBeenNotified() const { + return HasBeenNotifiedInternal(&this->notified_yet_); + } // Notification::WaitForNotification() // @@ -105,6 +107,11 @@ class Notification { void Notify(); private: + static inline bool HasBeenNotifiedInternal( + const std::atomic* notified_yet) { + return notified_yet->load(std::memory_order_acquire); + } + mutable Mutex mutex_; std::atomic notified_yet_; // written under mutex_ }; -- cgit v1.2.3