Chromium Code Reviews| Index: base/message_loop/message_pump_default.cc |
| diff --git a/base/message_loop/message_pump_default.cc b/base/message_loop/message_pump_default.cc |
| index bb9d8ce9ffc657e53d3104049fcd951cb4406321..62efa4e22bdf8109d1b6e2f0060c097f02104d5b 100644 |
| --- a/base/message_loop/message_pump_default.cc |
| +++ b/base/message_loop/message_pump_default.cc |
| @@ -52,8 +52,15 @@ void MessagePumpDefault::Run(Delegate* delegate) { |
| event_.Wait(); |
| } else { |
| TimeDelta delay = delayed_work_time_ - TimeTicks::Now(); |
| - // If the delay is under 1 ms we need to execute the task right away. |
| - if (delay.InMilliseconds() >= 1) { |
| +#if defined(OS_WIN) |
| + // If the delay is greater than zero and under 1 ms we need to round up to |
| + // 1 ms or else we will end up spinning until it counts down to zero |
| + // because sub-ms waits aren't supported on Windows. |
| + if (delay > TimeDelta()) { |
|
cpu_(ooo_6.6-7.5)
2015/05/22 22:57:54
don't use the braces in single if() statement
lgt
|
| + delay = std::max(delay, TimeDelta::FromMilliseconds(1)); |
| + } |
| +#endif |
| + if (delay > TimeDelta()) { |
| event_.TimedWait(delay); |
| } else { |
| // It looks like delayed_work_time_ indicates a time in the past, so we |