Fixing ticket #498

This commit is contained in:
Viktor Klang 2010-10-29 23:14:20 +02:00
parent 6787be5ecb
commit 453fa4dd1c
2 changed files with 5 additions and 6 deletions

View file

@ -131,6 +131,7 @@ sealed class Supervisor(handler: FaultHandlingStrategy) {
servers.map(server =>
server match {
case Supervise(actorRef, lifeCycle, remoteAddress) =>
remoteAddress.foreach { address => actorRef.makeRemote(address.hostname, address.port) }
actorRef.start
val className = actorRef.actor.getClass.getName
val currentActors = {
@ -141,10 +142,6 @@ sealed class Supervisor(handler: FaultHandlingStrategy) {
_childActors.put(className, actorRef :: currentActors)
actorRef.lifeCycle = lifeCycle
supervisor.link(actorRef)
remoteAddress.foreach { address =>
RemoteServerModule.registerActor(
new InetSocketAddress(address.hostname, address.port), actorRef.uuid, actorRef)
}
case supervisorConfig @ SupervisorConfig(_, _) => // recursive supervisor configuration
val childSupervisor = Supervisor(supervisorConfig)
supervisor.link(childSupervisor.supervisor)

View file

@ -920,8 +920,10 @@ private[akka] object AspectInitRegistry extends ListenerManagement {
*/
def unregister(proxy: AnyRef): AspectInit = {
val init = initializations.remove(proxy)
notifyListeners(AspectInitUnregistered(proxy, init))
init.actorRef.stop
if (init ne null) {
notifyListeners(AspectInitUnregistered(proxy, init))
init.actorRef.stop
}
init
}
}