diff options
author | Iulian Dragos <jaguarul@gmail.com> | 2010-04-13 22:50:37 +0000 |
---|---|---|
committer | Iulian Dragos <jaguarul@gmail.com> | 2010-04-13 22:50:37 +0000 |
commit | 7d6f1e7e4e8c9024f886f32804d5e341cd14bd11 (patch) | |
tree | b6597ec4ebbb2edcf467bc4ee61dccb4486f5b40 /src/actors | |
parent | 6c213d1c8198423076c111271fd6018a82593087 (diff) | |
download | scala-7d6f1e7e4e8c9024f886f32804d5e341cd14bd11.tar.gz scala-7d6f1e7e4e8c9024f886f32804d5e341cd14bd11.tar.bz2 scala-7d6f1e7e4e8c9024f886f32804d5e341cd14bd11.zip |
Fixed deadlocking behavior in actors.
Specialization removed a 'private' modifier on Actor.resumeActor. Mixin
did not mix this method in actor implementations, believing it was
private. At runtime, an AbstractMethodError was thrown, but swallowed by
forkjoin (probably), resulting in an apparent deadlock. It would have
been much faster to find and fix if the stacktrace was printed, as it is
in Java 1.5. No review.
Diffstat (limited to 'src/actors')
-rw-r--r-- | src/actors/scala/actors/Reactor.scala | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/actors/scala/actors/Reactor.scala b/src/actors/scala/actors/Reactor.scala index a5bdcf1dd9..85dcd57189 100644 --- a/src/actors/scala/actors/Reactor.scala +++ b/src/actors/scala/actors/Reactor.scala @@ -195,7 +195,7 @@ trait Reactor[Msg >: Null] extends OutputChannel[Msg] with Combinators { * * @param handler a partial function with message patterns and actions */ - protected[actors] def react(handler: PartialFunction[Msg, Unit]): Nothing = { + protected def react(handler: PartialFunction[Msg, Unit]): Nothing = { synchronized { drainSendBuffer(mailbox) } searchMailbox(mailbox, handler, false) throw Actor.suspendException |