From 94344041a01baa7ce24fc8b7cb1a240fcba2f584 Mon Sep 17 00:00:00 2001 From: Viktor Klang Date: Tue, 28 Sep 2010 16:30:58 +0200 Subject: [PATCH] Removing runActorInitialization volatile field, replace with isRunning check --- akka-actor/src/main/scala/actor/ActorRef.scala | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/akka-actor/src/main/scala/actor/ActorRef.scala b/akka-actor/src/main/scala/actor/ActorRef.scala index 3fdc39d03e..e6ee2a4c66 100644 --- a/akka-actor/src/main/scala/actor/ActorRef.scala +++ b/akka-actor/src/main/scala/actor/ActorRef.scala @@ -666,7 +666,6 @@ class LocalActorRef private[akka]( @volatile private[akka] var _linkedActors: Option[ConcurrentHashMap[Uuid, ActorRef]] = None @volatile private[akka] var _supervisor: Option[ActorRef] = None @volatile private var isInInitialization = false - @volatile private var runActorInitialization = false @volatile private var maxNrOfRetriesCount: Int = 0 @volatile private var restartsWithinTimeRangeTimestamp: Long = 0L @volatile private var _mailbox: AnyRef = _ @@ -677,7 +676,8 @@ class LocalActorRef private[akka]( // instance elegible for garbage collection private val actorSelfFields = findActorSelfField(actor.getClass) - if (runActorInitialization) initializeActorInstance + //If it was started inside "newActor", initialize it + if (isRunning) initializeActorInstance private[akka] def this(clazz: Class[_ <: Actor]) = this(Left(Some(clazz))) private[akka] def this(factory: () => Actor) = this(Right(Some(factory))) @@ -812,7 +812,6 @@ class LocalActorRef private[akka]( } _status = ActorRefStatus.RUNNING if (!isInInitialization) initializeActorInstance - else runActorInitialization = true } this }