| Index: cc/base/completion_event.h
|
| diff --git a/cc/base/completion_event.h b/cc/base/completion_event.h
|
| index edee0b78bf0e7bff28b07b878faae6a2ea858cce..0c620db4e72693a19993a16e82f247eec844fb5e 100644
|
| --- a/cc/base/completion_event.h
|
| +++ b/cc/base/completion_event.h
|
| @@ -43,12 +43,18 @@ class CompletionEvent {
|
| event_.Wait();
|
| }
|
|
|
| - void TimedWait(const base::TimeDelta& max_time) {
|
| + bool TimedWait(const base::TimeDelta& max_time) {
|
| #if DCHECK_IS_ON()
|
| DCHECK(!waited_);
|
| waited_ = true;
|
| #endif
|
| - event_.TimedWait(max_time);
|
| + base::ThreadRestrictions::ScopedAllowWait allow_wait;
|
| + if (event_.TimedWait(max_time))
|
| + return true;
|
| +#if DCHECK_IS_ON()
|
| + waited_ = false;
|
| +#endif
|
| + return false;
|
| }
|
|
|
| bool IsSignaled() { return event_.IsSignaled(); }
|
|
|