From fd130d0310f91bb23add65debf494dc9d486f36a Mon Sep 17 00:00:00 2001 From: Viktor Klang Date: Tue, 8 Nov 2011 11:25:15 +0100 Subject: [PATCH] Fixing ActorPoolSpec (more specifically the ActiveActorsPressure thingie-device) and stopping the typed actors after the test of the spec --- .../src/test/scala/akka/routing/ActorPoolSpec.scala | 1 + akka-actor/src/main/scala/akka/routing/Pool.scala | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/akka-actor-tests/src/test/scala/akka/routing/ActorPoolSpec.scala b/akka-actor-tests/src/test/scala/akka/routing/ActorPoolSpec.scala index 604032e978..f290ca1ae6 100644 --- a/akka-actor-tests/src/test/scala/akka/routing/ActorPoolSpec.scala +++ b/akka-actor-tests/src/test/scala/akka/routing/ActorPoolSpec.scala @@ -351,6 +351,7 @@ class ActorPoolSpec extends AkkaSpec { val value = r.get value must equal(i * i) } + app.typedActor.stop(pool) } "provide default supervision of pooled actors" in { diff --git a/akka-actor/src/main/scala/akka/routing/Pool.scala b/akka-actor/src/main/scala/akka/routing/Pool.scala index dbf71bad04..4ab1a55ade 100644 --- a/akka-actor/src/main/scala/akka/routing/Pool.scala +++ b/akka-actor/src/main/scala/akka/routing/Pool.scala @@ -296,8 +296,10 @@ trait MailboxPressureCapacitor { trait ActiveActorsPressureCapacitor { def pressure(delegates: Seq[ActorRef]): Int = delegates count { - case a: LocalActorRef ⇒ !a.underlying.sender.isShutdown - case _ ⇒ false + case a: LocalActorRef ⇒ + val cell = a.underlying + cell.mailbox.isScheduled && cell.currentMessage != null + case _ ⇒ false } }