summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/actors/scala/actors/Reaction.scala11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/actors/scala/actors/Reaction.scala b/src/actors/scala/actors/Reaction.scala
index 3a50a9af06..02f8283354 100644
--- a/src/actors/scala/actors/Reaction.scala
+++ b/src/actors/scala/actors/Reaction.scala
@@ -67,13 +67,16 @@ private[actors] class Reaction(a: Actor,
}
case t: Throwable => {
// links
- if (!a.links.isEmpty) {
- a.exitLinked(t)
+ a.synchronized {
+ if (!a.links.isEmpty)
+ a.exitLinked(t)
}
}
}
- if (!a.sessions.isEmpty)
- a.sessions = a.sessions.tail
+ a.synchronized {
+ if (!a.sessions.isEmpty)
+ a.sessions = a.sessions.tail
+ }
Actor.tl.set(saved)
}