Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(363)

Side by Side Diff: base/condition_variable.h

Issue 7995: Move Time, TimeDelta and TimeTicks into namespace base. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 12 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | base/condition_variable_posix.cc » ('j') | base/time_format.h » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // ConditionVariable wraps pthreads condition variable synchronization or, on 5 // ConditionVariable wraps pthreads condition variable synchronization or, on
6 // Windows, simulates it. This functionality is very helpful for having 6 // Windows, simulates it. This functionality is very helpful for having
7 // several threads wait for an event, as is common with a thread pool managed 7 // several threads wait for an event, as is common with a thread pool managed
8 // by a master. The meaning of such an event in the (worker) thread pool 8 // by a master. The meaning of such an event in the (worker) thread pool
9 // scenario is that additional tasks are now available for processing. It is 9 // scenario is that additional tasks are now available for processing. It is
10 // used in Chrome in the DNS prefetching system to notify worker threads that 10 // used in Chrome in the DNS prefetching system to notify worker threads that
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 class ConditionVariable { 73 class ConditionVariable {
74 public: 74 public:
75 // Construct a cv for use with ONLY one user lock. 75 // Construct a cv for use with ONLY one user lock.
76 explicit ConditionVariable(Lock* user_lock); 76 explicit ConditionVariable(Lock* user_lock);
77 77
78 ~ConditionVariable(); 78 ~ConditionVariable();
79 79
80 // Wait() releases the caller's critical section atomically as it starts to 80 // Wait() releases the caller's critical section atomically as it starts to
81 // sleep, and the reacquires it when it is signaled. 81 // sleep, and the reacquires it when it is signaled.
82 void Wait(); 82 void Wait();
83 void TimedWait(const TimeDelta& max_time); 83 void TimedWait(const base::TimeDelta& max_time);
84 84
85 // Broadcast() revives all waiting threads. 85 // Broadcast() revives all waiting threads.
86 void Broadcast(); 86 void Broadcast();
87 // Signal() revives one waiting thread. 87 // Signal() revives one waiting thread.
88 void Signal(); 88 void Signal();
89 89
90 private: 90 private:
91 91
92 #if defined(OS_WIN) 92 #if defined(OS_WIN)
93 93
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 pthread_cond_t condition_; 165 pthread_cond_t condition_;
166 pthread_mutex_t* user_mutex_; 166 pthread_mutex_t* user_mutex_;
167 167
168 #endif 168 #endif
169 169
170 DISALLOW_COPY_AND_ASSIGN(ConditionVariable); 170 DISALLOW_COPY_AND_ASSIGN(ConditionVariable);
171 }; 171 };
172 172
173 #endif // BASE_CONDITION_VARIABLE_H_ 173 #endif // BASE_CONDITION_VARIABLE_H_
174 174
OLDNEW
« no previous file with comments | « no previous file | base/condition_variable_posix.cc » ('j') | base/time_format.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698