Index: base/synchronization/condition_variable_posix.cc |
diff --git a/base/synchronization/condition_variable_posix.cc b/base/synchronization/condition_variable_posix.cc |
index d86fd180ec7f3056dbf22cf0997826b04d7fdde3..a023d37fa832bfe4498346437a6f4d3f3b59f16e 100644 |
--- a/base/synchronization/condition_variable_posix.cc |
+++ b/base/synchronization/condition_variable_posix.cc |
@@ -73,7 +73,7 @@ void ConditionVariable::Wait() { |
#endif |
} |
-void ConditionVariable::TimedWait(const TimeDelta& max_time) { |
+bool ConditionVariable::TimedWait(const TimeDelta& max_time) { |
base::ThreadRestrictions::AssertWaitAllowed(); |
int64_t usecs = max_time.InMicroseconds(); |
struct timespec relative_time; |
@@ -119,9 +119,13 @@ void ConditionVariable::TimedWait(const TimeDelta& max_time) { |
#endif // OS_MACOSX |
DCHECK(rv == 0 || rv == ETIMEDOUT); |
+ |
#if DCHECK_IS_ON() |
user_lock_->CheckUnheldAndMark(); |
#endif |
+ |
+ // Return true if timeout occurred. |
+ return rv == ETIMEDOUT; |
} |
void ConditionVariable::Broadcast() { |