summaryrefslogtreecommitdiff
path: root/src/actors
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2010-04-13 22:50:37 +0000
committerIulian Dragos <jaguarul@gmail.com>2010-04-13 22:50:37 +0000
commit7d6f1e7e4e8c9024f886f32804d5e341cd14bd11 (patch)
treeb6597ec4ebbb2edcf467bc4ee61dccb4486f5b40 /src/actors
parent6c213d1c8198423076c111271fd6018a82593087 (diff)
downloadscala-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.scala2
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