From c61f1a42dc8b2113d4be76014ea37cff104cf029 Mon Sep 17 00:00:00 2001 From: Derek Williams Date: Thu, 28 Apr 2011 07:47:51 -0600 Subject: [PATCH] make sure lock is aquired when accessing shutdownSchedule --- akka-actor/src/main/scala/akka/dispatch/MessageHandling.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/akka-actor/src/main/scala/akka/dispatch/MessageHandling.scala b/akka-actor/src/main/scala/akka/dispatch/MessageHandling.scala index 8261a0f485..e63a72f366 100644 --- a/akka-actor/src/main/scala/akka/dispatch/MessageHandling.scala +++ b/akka-actor/src/main/scala/akka/dispatch/MessageHandling.scala @@ -95,7 +95,7 @@ trait MessageDispatcher { } private val futureCleanup: () => Unit = { () => - if (futures.decrementAndGet() == 0 && uuids.isEmpty) { + if (futures.decrementAndGet() == 0) guard withGuard { if (uuids.isEmpty) { shutdownSchedule match { case UNSCHEDULED => shutdownSchedule = SCHEDULED @@ -104,7 +104,7 @@ trait MessageDispatcher { shutdownSchedule = RESCHEDULED case RESCHEDULED => //Already marked for reschedule } - } + }} } private[akka] def register(actorRef: ActorRef) {