diff options
author | Abseil Team <absl-team@google.com> | 2019-11-15 08:07:12 -0800 |
---|---|---|
committer | Andy Getz <durandal@google.com> | 2019-11-15 11:16:16 -0500 |
commit | 3df7b52a6ada51a72a23796b844549a7b282f1b8 (patch) | |
tree | 12f9fb49f9c955408628aafaf9448ecaf357ee8d /absl/synchronization/notification.h | |
parent | fa8c75182fbfdeddb2485fc0d53baeda3f40b7a3 (diff) | |
download | abseil-3df7b52a6ada51a72a23796b844549a7b282f1b8.tar.gz abseil-3df7b52a6ada51a72a23796b844549a7b282f1b8.tar.bz2 abseil-3df7b52a6ada51a72a23796b844549a7b282f1b8.zip |
Export of internal Abseil changes
--
3a871e2cd854a46770a9416189953b2b38980bcf by Andy Getzendanner <durandal@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 280660534
--
f5a155fb056dcf68b089c21aebb5bf5159dc0eb3 by Tom Manshreck <shreck@google.com>:
Nit: fix format of algorithm.h comments
PiperOrigin-RevId: 280474139
--
08b117a18353c0daf51b33b45100e5a007e5ab0c by Abseil Team <absl-team@google.com>:
Allow absl::Notification::HasBeenNotified to be inlined.
PiperOrigin-RevId: 280453271
--
26d33dd2bad72945f1987f7b2669dbec3a6247e6 by Derek Mauro <dmauro@google.com>:
Fix unused variable warnings on Windows
PiperOrigin-RevId: 280324417
--
907e9b23029be683af3b443bafd6a577a595922f by Abseil Team <absl-team@google.com>:
PeriodicSampler implementation (for internal-use only)
PiperOrigin-RevId: 280257168
GitOrigin-RevId: 3a871e2cd854a46770a9416189953b2b38980bcf
Change-Id: I6e2978cae22a6adc41c0577e5c21355e9db7c8f5
Diffstat (limited to 'absl/synchronization/notification.h')
-rw-r--r-- | absl/synchronization/notification.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/absl/synchronization/notification.h b/absl/synchronization/notification.h index 82d111a5..36c2ce3d 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<bool>* notified_yet) { + return notified_yet->load(std::memory_order_acquire); + } + mutable Mutex mutex_; std::atomic<bool> notified_yet_; // written under mutex_ }; |