Add MessageLoop::QuitNow and use it to terminate a sync IPC.
This is a test to observe the performance impact of this change.
As such, I'm reverting r39518 as part of this change.
R=jam
BUG=36310
TEST=none
Review URL: http://codereview.chromium.org/652089
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39699 0039d316-1c4b-4281-b951-d872f2087c98
CrOS-Libchrome-Original-Commit: 781a7edbdb3288b237acbeff4926b47b243cef17
diff --git a/base/message_loop.cc b/base/message_loop.cc
index dbe780a..6a73124 100644
--- a/base/message_loop.cc
+++ b/base/message_loop.cc
@@ -233,6 +233,15 @@
}
}
+void MessageLoop::QuitNow() {
+ DCHECK(current() == this);
+ if (state_) {
+ pump_->Quit();
+ } else {
+ NOTREACHED() << "Must be inside Run to call Quit";
+ }
+}
+
void MessageLoop::PostTask(
const tracked_objects::Location& from_here, Task* task) {
PostTask_Helper(from_here, task, 0, true);