summaryrefslogtreecommitdiff
path: root/src/actors
diff options
context:
space:
mode:
authorPhilipp Haller <hallerp@gmail.com>2007-05-20 17:04:35 +0000
committerPhilipp Haller <hallerp@gmail.com>2007-05-20 17:04:35 +0000
commit72b474d620e9f37c13dd7b7f6e5ffc62d1ae327f (patch)
tree0e6c1d188eca834aa25ebf4835bb0ebf105cdff1 /src/actors
parenta43e6b1242018f538a25efd70e74ab87abc8691d (diff)
downloadscala-72b474d620e9f37c13dd7b7f6e5ffc62d1ae327f.tar.gz
scala-72b474d620e9f37c13dd7b7f6e5ffc62d1ae327f.tar.bz2
scala-72b474d620e9f37c13dd7b7f6e5ffc62d1ae327f.zip
Fixed memory leak.
Diffstat (limited to 'src/actors')
-rw-r--r--src/actors/scala/actors/Actor.scala11
-rw-r--r--src/actors/scala/actors/Reaction.scala2
2 files changed, 3 insertions, 10 deletions
diff --git a/src/actors/scala/actors/Actor.scala b/src/actors/scala/actors/Actor.scala
index 7b0f064836..251640dc65 100644
--- a/src/actors/scala/actors/Actor.scala
+++ b/src/actors/scala/actors/Actor.scala
@@ -275,7 +275,7 @@ trait Actor extends OutputChannel[Any] {
private[actors] var isSuspended = false
private val mailbox = new MessageQueue
- private var sessions: List[Channel[Any]] = Nil
+ private[actors] var sessions: List[Channel[Any]] = Nil
private def send(msg: Any, session: Channel[Any]) = synchronized {
tick()
@@ -616,15 +616,6 @@ trait Actor extends OutputChannel[Any] {
throw new ExitActorException
}
- /**
- * Repeatedly execute <code>body</code>.
- *
- * @param body the code block to be executed
- */
- /*def loop(body: => Unit): Nothing = {
- Actor.seq(body, loop(body))
- }*/
-
private[actors] var links: List[Actor] = Nil
/**
diff --git a/src/actors/scala/actors/Reaction.scala b/src/actors/scala/actors/Reaction.scala
index a6eaa18833..3a50a9af06 100644
--- a/src/actors/scala/actors/Reaction.scala
+++ b/src/actors/scala/actors/Reaction.scala
@@ -72,6 +72,8 @@ private[actors] class Reaction(a: Actor,
}
}
}
+ if (!a.sessions.isEmpty)
+ a.sessions = a.sessions.tail
Actor.tl.set(saved)
}