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); |