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
This commit is contained in:
		
							parent
							
								
									fa8c75182f
								
							
						
					
					
						commit
						3df7b52a6a
					
				
					 12 changed files with 581 additions and 19 deletions
				
			
		|  | @ -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_
 | ||||
| }; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue