summaryrefslogtreecommitdiff
path: root/src/actors
diff options
context:
space:
mode:
authorPhilipp Haller <hallerp@gmail.com>2006-11-16 15:39:25 +0000
committerPhilipp Haller <hallerp@gmail.com>2006-11-16 15:39:25 +0000
commit9f54fe8bd04e9820cfd04e0ee18da12395269129 (patch)
tree00089fb85501f6167434aadb4e9064696b738eea /src/actors
parent466db7220a4325c84d43cc55c517d0cb8240310d (diff)
downloadscala-9f54fe8bd04e9820cfd04e0ee18da12395269129.tar.gz
scala-9f54fe8bd04e9820cfd04e0ee18da12395269129.tar.bz2
scala-9f54fe8bd04e9820cfd04e0ee18da12395269129.zip
Small fix in actor exit code.
Diffstat (limited to 'src/actors')
-rw-r--r--src/actors/scala/actors/Actor.scala2
-rw-r--r--src/actors/scala/actors/Channel.scala4
-rw-r--r--src/actors/scala/actors/Reaction.scala5
3 files changed, 7 insertions, 4 deletions
diff --git a/src/actors/scala/actors/Actor.scala b/src/actors/scala/actors/Actor.scala
index 6484f3f454..c4d36824eb 100644
--- a/src/actors/scala/actors/Actor.scala
+++ b/src/actors/scala/actors/Actor.scala
@@ -444,7 +444,7 @@ trait Actor extends OutputChannel[Any] {
resetActor()
/**
- * Starts this reactor.
+ * Starts this actor.
*/
def start(): Unit =
Scheduler.execute(new Reaction(this))
diff --git a/src/actors/scala/actors/Channel.scala b/src/actors/scala/actors/Channel.scala
index db988aee63..11497e8a10 100644
--- a/src/actors/scala/actors/Channel.scala
+++ b/src/actors/scala/actors/Channel.scala
@@ -45,6 +45,8 @@ class Channel[Msg] extends InputChannel[Msg] with OutputChannel[Msg] {
private[actors] var waitingFor: Msg => boolean = waitingForNone
private[actors] var waitingForSender: Actor = null
+ private[actors] var isSuspended = false
+
//private val messageQueue = new MessageQueue[Msg]
private val mailbox = new scala.collection.mutable.Queue[Pair[Msg, Actor]]
@@ -103,8 +105,6 @@ class Channel[Msg] extends InputChannel[Msg] with OutputChannel[Msg] {
*/
def forward(msg: Msg): unit = send(msg, receiver.sender)
- private[actors] var isSuspended = false
-
/**
* Receives a message from this <code>Channel</code>.
*/
diff --git a/src/actors/scala/actors/Reaction.scala b/src/actors/scala/actors/Reaction.scala
index fb9064989f..571d32aa44 100644
--- a/src/actors/scala/actors/Reaction.scala
+++ b/src/actors/scala/actors/Reaction.scala
@@ -65,6 +65,9 @@ private[actors] class Reaction(a: Actor,
throw new InterruptedException
a.exit("normal")
+
+ if (currentThread.isInterrupted())
+ throw new InterruptedException
}
catch {
case ie: InterruptedException => {
@@ -76,7 +79,7 @@ private[actors] class Reaction(a: Actor,
}
case t: Throwable => {
log(t)
- a.exit(t.toString())
+ a.exitLinked()
}
}
finally {