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.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'absl/synchronization/notification.h') 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