summaryrefslogtreecommitdiffstats
path: root/chrome/common/ipc_sync_channel.cc
diff options
context:
space:
mode:
authorjar@google.com <jar@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-07-31 13:10:20 +0000
committerjar@google.com <jar@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-07-31 13:10:20 +0000
commit7e0e876b16395b6aa4aa6868434d18ef975e4ae0 (patch)
tree8606bab668332a5121a5a09929d5a8f65792460d /chrome/common/ipc_sync_channel.cc
parent6a0ecac6e243c72e79bca203aac7def4b6687fd1 (diff)
downloadchromium_src-7e0e876b16395b6aa4aa6868434d18ef975e4ae0.zip
chromium_src-7e0e876b16395b6aa4aa6868434d18ef975e4ae0.tar.gz
chromium_src-7e0e876b16395b6aa4aa6868434d18ef975e4ae0.tar.bz2
Support RanAllPending() rather than RunOnce(), and integrated into ipc_sync_channel.
RunOnce() semantics were not sufficient to support the effort to pump messages in ipc_sync_channel, as ipc_sync_channel is not able to detect pending Tasks. This change list switches to RunAllPending() tasks, rather than just Running the items that avail themselves in one run of the loop. This is a very small mod of the existing code. I'm still trying to stay focused on the bug at hand, and minimize chances of unrelated regressions (we only modify IPC channel semantics). The slight semantic change (from original attempts to call Quit() externally and then Run()) is that we now terminate the message loop after also servicing the high-resolution timer tasks. bug=1291034 r=darin M base/message_loop.h M base/message_loop.cc M chrome/common/ipc_sync_channel.cc git-svn-id: svn://svn.chromium.org/chrome/trunk/src@176 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/ipc_sync_channel.cc')
-rw-r--r--chrome/common/ipc_sync_channel.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/chrome/common/ipc_sync_channel.cc b/chrome/common/ipc_sync_channel.cc
index 1dc106c..897e7bf 100644
--- a/chrome/common/ipc_sync_channel.cc
+++ b/chrome/common/ipc_sync_channel.cc
@@ -448,7 +448,7 @@ bool SyncChannel::Send(IPC::Message* message) {
MessageLoop::current()->SetNestableTasksAllowed(true);
// Process a message, but come right back out of the MessageLoop (don't
// loop, sleep, or wait for a kMsgQuit).
- MessageLoop::current()->RunOnce();
+ MessageLoop::current()->RunAllPending();
MessageLoop::current()->SetNestableTasksAllowed(old_state);
pump_messages_events_.pop();
} else {