diff --git a/akka-core/src/main/scala/actor/Actor.scala b/akka-core/src/main/scala/actor/Actor.scala index 8a70980413..cf7daa5457 100644 --- a/akka-core/src/main/scala/actor/Actor.scala +++ b/akka-core/src/main/scala/actor/Actor.scala @@ -19,9 +19,10 @@ import se.scalablesolutions.akka.util.{HashCode, Logging, UUID} import org.multiverse.api.ThreadLocalTransaction._ import org.multiverse.commitbarriers.CountDownCommitBarrier -import java.util.{Deque, HashSet} +import jsr166x.{Deque, ConcurrentLinkedDeque} + +import java.util.HashSet import java.net.InetSocketAddress -import java.util.concurrent.LinkedBlockingDeque import java.util.concurrent.locks.{Lock, ReentrantLock} /** @@ -240,7 +241,7 @@ trait Actor extends TransactionManagement with Logging { private[akka] var _linkedActors: Option[HashSet[Actor]] = None private[akka] var _supervisor: Option[Actor] = None private[akka] var _replyToAddress: Option[InetSocketAddress] = None - private[akka] val _mailbox: Deque[MessageInvocation] = new LinkedBlockingDeque[MessageInvocation] + private[akka] val _mailbox: Deque[MessageInvocation] = new ConcurrentLinkedDeque[MessageInvocation] /** * This lock ensures thread safety in the dispatching: only one message can diff --git a/project/build/AkkaProject.scala b/project/build/AkkaProject.scala index 2293800c42..3941e30e68 100644 --- a/project/build/AkkaProject.scala +++ b/project/build/AkkaProject.scala @@ -170,6 +170,7 @@ class AkkaParent(info: ProjectInfo) extends DefaultProject(info) { val jackson_core = "org.codehaus.jackson" % "jackson-core-asl" % "1.2.1" % "compile" val voldemort = "voldemort.store.compress" % "h2-lzf" % "1.0" % "compile" val javautils = "org.scala-tools" % "javautils" % "2.7.4-0.1" % "compile" + val jsr166x = "jsr166x" % "jsr166x" % "1.0" % "compile" // testing val scalatest = "org.scalatest" % "scalatest" % "1.0" % "test" val junit = "junit" % "junit" % "4.5" % "test"