Merge branch 'wip-2212-recursive-resume-∂π' into wip-scala210M5-√

only merged so that it compiles, will clean up warnings in the following
commits
This commit is contained in:
Roland 2012-07-23 14:17:45 +02:00
commit dca8d15c68
27 changed files with 1568 additions and 801 deletions

View file

@ -154,7 +154,7 @@ class CallingThreadDispatcher(
override def suspend(actor: ActorCell) {
actor.mailbox match {
case m: CallingThreadMailbox m.suspendSwitch.switchOn
case m: CallingThreadMailbox m.suspendSwitch.switchOn; m.suspend()
case m m.systemEnqueue(actor.self, Suspend())
}
}
@ -166,11 +166,12 @@ class CallingThreadDispatcher(
val wasActive = queue.isActive
val switched = mbox.suspendSwitch.switchOff {
CallingThreadDispatcherQueues(actor.system).gatherFromAllOtherQueues(mbox, queue)
mbox.resume()
}
if (switched && !wasActive) {
runQueue(mbox, queue)
}
case m m.systemEnqueue(actor.self, Resume())
case m m.systemEnqueue(actor.self, Resume(false))
}
}