Index: base/synchronization/waitable_event_win.cc |
diff --git a/base/synchronization/waitable_event_win.cc b/base/synchronization/waitable_event_win.cc |
index cbdebbb082cd2a2ab8f223904c0aee26dc3b74a7..d80cabb3ff3ae864fb25f54448885d2c252c5f2b 100644 |
--- a/base/synchronization/waitable_event_win.cc |
+++ b/base/synchronization/waitable_event_win.cc |
@@ -62,8 +62,10 @@ bool WaitableEvent::TimedWait(const TimeDelta& max_time) { |
// Record the event that this thread is blocking upon (for hang diagnosis). |
base::debug::ScopedEventWaitActivity event_activity(this); |
- base::ThreadRestrictions::AssertWaitAllowed(); |
DCHECK_GE(max_time, TimeDelta()); |
+ if (!max_time.is_zero()) |
+ base::ThreadRestrictions::AssertWaitAllowed(); |
+ |
// Truncate the timeout to milliseconds. The API specifies that this method |
// can return in less than |max_time| (when returning false), as the argument |
// is the maximum time that a caller is willing to wait. |