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

Unified Diff: mojo/system/simple_dispatcher.cc

Issue 325213004: Mojo: Wrap the satisfied/unsatisfied wait flags state in a single object. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/system/simple_dispatcher.h ('k') | mojo/system/simple_dispatcher_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/system/simple_dispatcher.cc
diff --git a/mojo/system/simple_dispatcher.cc b/mojo/system/simple_dispatcher.cc
index ce2baefe2dd5402a00559294ef60ba3bafb64c7d..717ac00fbb54ac6bc9a55cc8c836ec0ca79ca2cf 100644
--- a/mojo/system/simple_dispatcher.cc
+++ b/mojo/system/simple_dispatcher.cc
@@ -15,10 +15,9 @@ SimpleDispatcher::SimpleDispatcher() {
SimpleDispatcher::~SimpleDispatcher() {
}
-void SimpleDispatcher::StateChangedNoLock() {
+void SimpleDispatcher::WaitFlagsStateChangedNoLock() {
lock().AssertAcquired();
- waiter_list_.AwakeWaitersForStateChange(SatisfiedFlagsNoLock(),
- SatisfiableFlagsNoLock());
+ waiter_list_.AwakeWaitersForStateChange(GetWaitFlagsStateNoLock());
}
void SimpleDispatcher::CancelAllWaitersNoLock() {
@@ -31,9 +30,10 @@ MojoResult SimpleDispatcher::AddWaiterImplNoLock(Waiter* waiter,
MojoResult wake_result) {
lock().AssertAcquired();
- if ((flags & SatisfiedFlagsNoLock()))
+ WaitFlagsState state(GetWaitFlagsStateNoLock());
+ if (state.satisfies(flags))
return MOJO_RESULT_ALREADY_EXISTS;
- if (!(flags & SatisfiableFlagsNoLock()))
+ if (!state.can_satisfy(flags))
return MOJO_RESULT_FAILED_PRECONDITION;
waiter_list_.AddWaiter(waiter, flags, wake_result);
« no previous file with comments | « mojo/system/simple_dispatcher.h ('k') | mojo/system/simple_dispatcher_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698