| 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..672dbec22fb82be120a840259a5b95ed7c761a3f 100644
 | 
| --- a/base/synchronization/condition_variable_win.cc
 | 
| +++ b/base/synchronization/condition_variable_win.cc
 | 
| @@ -26,7 +26,7 @@ void ConditionVariable::Wait() {
 | 
|    TimedWait(TimeDelta::FromMilliseconds(INFINITE));
 | 
|  }
 | 
|  
 | 
| -void ConditionVariable::TimedWait(const TimeDelta& max_time) {
 | 
| +bool ConditionVariable::TimedWait(const TimeDelta& max_time) {
 | 
|    base::ThreadRestrictions::AssertWaitAllowed();
 | 
|    DWORD timeout = static_cast<DWORD>(max_time.InMilliseconds());
 | 
|  
 | 
| @@ -34,13 +34,17 @@ void ConditionVariable::TimedWait(const TimeDelta& max_time) {
 | 
|    user_lock_->CheckHeldAndUnmark();
 | 
|  #endif
 | 
|  
 | 
| +  bool timed_out = false;
 | 
|    if (FALSE == SleepConditionVariableSRW(&cv_, srwlock_, timeout, 0)) {
 | 
| -    DCHECK(GetLastError() != WAIT_TIMEOUT);
 | 
| +    timed_out = GetLastError() == ERROR_TIMEOUT;
 | 
| +    DCHECK(timed_out);
 | 
|    }
 | 
|  
 | 
|  #if DCHECK_IS_ON()
 | 
|    user_lock_->CheckUnheldAndMark();
 | 
|  #endif
 | 
| +
 | 
| +  return timed_out;
 | 
|  }
 | 
|  
 | 
|  void ConditionVariable::Broadcast() {
 | 
| 
 |