New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 623223 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
not on Chrome anymore
Closed: Dec 2016
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Move OS_WIN specific logic in MessagePumpDefault::Run into waitable_event_win.cc

Project Member Reported by stanisc@chromium.org, Jun 24 2016

Issue description

The windows specific logic inside waitable_event_win.cc should be generalized to all TimedWait calls on windows.
1) Ensure that a sub-millisecond wait doesn't time out promptly (unless the timeout is exactly zero).
2) Ensure that the behavior of TimedWait on Windows is consistent with the posix implementation and it doesn't time out earlier than the specified max_time.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 30 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/acf6801129dff3dba81f6f105713aab173a73e2c

commit acf6801129dff3dba81f6f105713aab173a73e2c
Author: stanisc <stanisc@chromium.org>
Date: Wed Nov 30 19:56:09 2016

Move OS_WIN specific logic in MessagePumpDefault::Run into waitable_event_win.cc

This is a followup for https://codereview.chromium.org/2086123002/.
This change removes the WIN_OS specific timed wait logic
from MessagePumpDefault::Run implementation and moves it
to OS_WIN specific WaitableEvent implementation.

This will make OS_WIN TimedWait behavior consistent with
the posix implementation:
1) A sub-ms wait doesn't time out promptly
(unless the timeout is exactly zero).
2) Also it doesn't time out earlier than the specified
max_time.
3) Introduced WaitableEvent::TimedWaitUntil method that
waits until the specified absolute deadline.

BUG= 623223 , 465948 

Review-Url: https://codereview.chromium.org/2433773005
Cr-Commit-Position: refs/heads/master@{#435388}

[modify] https://crrev.com/acf6801129dff3dba81f6f105713aab173a73e2c/base/message_loop/message_pump_default.cc
[modify] https://crrev.com/acf6801129dff3dba81f6f105713aab173a73e2c/base/synchronization/waitable_event.h
[modify] https://crrev.com/acf6801129dff3dba81f6f105713aab173a73e2c/base/synchronization/waitable_event_posix.cc
[modify] https://crrev.com/acf6801129dff3dba81f6f105713aab173a73e2c/base/synchronization/waitable_event_unittest.cc
[modify] https://crrev.com/acf6801129dff3dba81f6f105713aab173a73e2c/base/synchronization/waitable_event_win.cc

Status: Fixed (was: Assigned)

Sign in to add a comment