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

Unified Diff: base/synchronization/condition_variable_win.cc

Issue 2047433004: content: Add heartbeat trace for CategorizedWorkerPool. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 months 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 side-by-side diff with in-line comments
Download patch
Index: base/synchronization/condition_variable_win.cc
diff --git a/base/synchronization/condition_variable_win.cc b/base/synchronization/condition_variable_win.cc
index 61c6a715e0eccd8557338193f7f8313ab431b9ce..b701b5de0774f30db890a7a46a94fc5db2fa1635 100644
--- a/base/synchronization/condition_variable_win.cc
+++ b/base/synchronization/condition_variable_win.cc
@@ -26,8 +26,9 @@ void ConditionVariable::Wait() {
TimedWait(TimeDelta::FromMilliseconds(INFINITE));
}
-void ConditionVariable::TimedWait(const TimeDelta& max_time) {
+bool ConditionVariable::TimedWait(const TimeDelta& max_time) {
base::ThreadRestrictions::AssertWaitAllowed();
+ bool timed_out = false;
robliao 2016/06/07 15:40:30 Minimal scope: Move to right before the if check b
DWORD timeout = static_cast<DWORD>(max_time.InMilliseconds());
#if DCHECK_IS_ON()
@@ -35,12 +36,15 @@ void ConditionVariable::TimedWait(const TimeDelta& max_time) {
#endif
if (FALSE == SleepConditionVariableSRW(&cv_, srwlock_, timeout, 0)) {
- DCHECK(GetLastError() != WAIT_TIMEOUT);
+ timed_out = GetLastError() == WAIT_TIMEOUT;
robliao 2016/06/07 15:40:30 Looks like your changelist uncovered a longstandin
prashant.n 2016/06/07 15:49:54 I just copied earlier code, I'll make chnages sugg
+ DCHECK(max_time != TimeDelta::FromMilliseconds(INFINITE) || !timed_out);
robliao 2016/06/07 15:40:30 This DCHECK will pass all cases where max_time is
prashant.n 2016/06/07 15:49:54 I'll correct this. May be I'll add two explicit dc
}
#if DCHECK_IS_ON()
user_lock_->CheckUnheldAndMark();
#endif
+
+ return timed_out;
}
void ConditionVariable::Broadcast() {

Powered by Google App Engine
This is Rietveld 408576698