Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Issue 8156: Switch MessagePumpForIO to use completion ports on Windows.... (Closed)

Created:
12 years, 2 months ago by rvargas (doing something else)
Modified:
9 years, 6 months ago
CC:
chromium-reviews_googlegroups.com
Visibility:
Public.

Description

Switch MessagePumpForIO to use completion ports on Windows. Cleanup the separation between MessagePumpForUI and MessagePumpForIO, and convert the latter to use Completion Ports instead of MsgWaitForMultipleobjects to sleep when idle. Remove all traces of Windows messages from MessagePumpForIO, remove the transitional API of completion port notifications and remove WatchObject API. Modify all callers of RegisterIOHandler so that they are no longer using RegisterIOContext, and also handle properly the new semantics of completion ports (notifications even when the IO completes immediately). Add a new interface to allow proper cleanup of disk cache (to replace code that was waiting for pending APCs from the destructor). Add a way for the message pump to perform cleanup of abandoned IO. BUG=B/1344358, 3497, 3630 TESt=unit tests R=darin Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=5021

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Patch Set 4 : '' #

Patch Set 5 : '' #

Patch Set 6 : '' #

Patch Set 7 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+814 lines, -930 lines) Patch
M base/message_loop.h View 2 3 4 2 chunks +3 lines, -4 lines 0 comments Download
M base/message_loop.cc View 2 3 4 2 chunks +3 lines, -8 lines 0 comments Download
M base/message_loop_unittest.cc View 2 3 4 6 chunks +87 lines, -99 lines 0 comments Download
M base/message_pump_win.h View 1 2 3 4 5 6 7 chunks +191 lines, -99 lines 0 comments Download
M base/message_pump_win.cc View 1 2 3 4 14 chunks +258 lines, -406 lines 0 comments Download
M chrome/common/ipc_channel.h View 2 3 4 2 chunks +8 lines, -6 lines 0 comments Download
M chrome/common/ipc_channel.cc View 2 3 4 10 chunks +72 lines, -72 lines 0 comments Download
M chrome/common/ipc_sync_channel_unittest.cc View 3 chunks +4 lines, -4 lines 0 comments Download
M net/base/file_stream_win.cc View 4 5 chunks +39 lines, -34 lines 0 comments Download
M net/disk_cache/cache_util_win.cc View 2 3 4 3 chunks +6 lines, -6 lines 0 comments Download
M net/disk_cache/disk_cache_perftest.cc View 2 3 4 7 chunks +7 lines, -1 line 0 comments Download
M net/disk_cache/disk_cache_test_base.h View 2 3 4 2 chunks +8 lines, -6 lines 0 comments Download
M net/disk_cache/disk_cache_test_base.cc View 2 3 4 2 chunks +5 lines, -0 lines 0 comments Download
M net/disk_cache/entry_impl.cc View 2 3 4 5 chunks +14 lines, -25 lines 0 comments Download
M net/disk_cache/file_win.cc View 2 3 4 7 chunks +105 lines, -158 lines 0 comments Download
M net/disk_cache/mapped_file_unittest.cc View 2 3 4 2 chunks +4 lines, -2 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
rvargas (doing something else)
Darin, Given the large movement of code on the message pump, I added a version ...
12 years, 2 months ago (2008-10-24 19:12:04 UTC) #1
rvargas (doing something else)
I have a new version, this time blocking on the destructors. Please take a look.
12 years, 1 month ago (2008-10-31 01:05:10 UTC) #2
darin (slow to review)
LGTM. nice work! http://codereview.chromium.org/8156/diff/231/235 File base/message_pump_win.cc (right): http://codereview.chromium.org/8156/diff/231/235#newcode430 Line 430: // ProcessNextIOCompletion(), there is a ...
12 years, 1 month ago (2008-10-31 04:20:44 UTC) #3
rvargas (doing something else)
Could you take another look. Changes after merging with the latest code: 1. Re-enable nested ...
12 years, 1 month ago (2008-11-06 02:13:56 UTC) #4
darin (slow to review)
12 years, 1 month ago (2008-11-07 23:23:02 UTC) #5
OK, LGTM

Powered by Google App Engine
This is Rietveld 408576698