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 } }