diff options
author | Philipp Haller <hallerp@gmail.com> | 2007-01-21 14:51:50 +0000 |
---|---|---|
committer | Philipp Haller <hallerp@gmail.com> | 2007-01-21 14:51:50 +0000 |
commit | 2836cba04cdc42875be1f09376908ca7d805cc49 (patch) | |
tree | 1732a47c1d75938f59c31bb3636f36ff377bcb75 /src/actors | |
parent | ec85d6ce0c8728a64b155b00b681b5f04768ad3a (diff) | |
download | scala-2836cba04cdc42875be1f09376908ca7d805cc49.tar.gz scala-2836cba04cdc42875be1f09376908ca7d805cc49.tar.bz2 scala-2836cba04cdc42875be1f09376908ca7d805cc49.zip |
Inlined detachActor().
Diffstat (limited to 'src/actors')
-rw-r--r-- | src/actors/scala/actors/Actor.scala | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/actors/scala/actors/Actor.scala b/src/actors/scala/actors/Actor.scala index b220af1396..7054d6735b 100644 --- a/src/actors/scala/actors/Actor.scala +++ b/src/actors/scala/actors/Actor.scala @@ -356,7 +356,8 @@ trait Actor extends OutputChannel[Any] { val qel = mailbox.extractFirst((m: Any) => f.isDefinedAt(m)) if (null eq qel) { waitingFor = f.isDefinedAt - detachActor(f) + continuation = f + isDetached = true } else { sessions = qel.session :: sessions scheduleActor(f, qel.msg) @@ -377,7 +378,8 @@ trait Actor extends OutputChannel[Any] { waitingFor = f.isDefinedAt TimerThread.requestTimeout(this, f, msec) timeoutPending = true - detachActor(f) + continuation = f + isDetached = true } else { sessions = qel.session :: sessions scheduleActor(f, qel.msg) @@ -460,12 +462,6 @@ trait Actor extends OutputChannel[Any] { private[actors] def tick(): Unit = Scheduler tick this - private[actors] def detachActor(f: PartialFunction[Any, Unit]) { - continuation = f - isDetached = true - throw new SuspendActorException - } - private[actors] var kill = () => {} private class ExitSuspendLoop extends Throwable |