return value;
}
- // Kill omniNames process
- void killOmniNames()
- {
- SALOME_LifeCycleCORBA::killOmniNames();
- }
-
// Shutdown standalone servers
void shutdownServers(SALOME_NamingService *theNS, bool remoteLauncher)
{
using NamingServiceImplementation = OldStyleNS;
void connectToNSIfNeeded(CORBA::ORB_ptr orb) { _NS.reset(new SALOME_NamingService(orb)); }
void shutdownCORBAStufIfNeeded(bool shutdownAll, CORBA::ORB_ptr orb);
+ void killOtherServersIfNeeded() { SALOME_LifeCycleCORBA::killOmniNames(); }
SALOME::Session_var getSession();
void shutdownRemoteServersIfNeeded(bool remoteLauncher);
private:
using NamingServiceImplementation = NewStyleNS;
void connectToNSIfNeeded(CORBA::ORB_ptr orb) { /*! nothing */ }
void shutdownCORBAStufIfNeeded(bool shutdownAll, CORBA::ORB_ptr orb) { /*! nothing */ }
+ void killOtherServersIfNeeded() { /*! nothing */ }
SALOME::Session_var getSession();
void shutdownRemoteServersIfNeeded(bool remoteLauncher) { /*! nothing */ }
};
// cpp continer is launched in the embedded mode
//////////////////////////////////////////////////////////////
if (shutdownAll)
- killOmniNames();
+ SALOME_LifeCycleCORBA::killOmniNames();
abort(); //abort program to avoid deadlock in destructors or atexit when shutdown has been interrupted
}
// Destroy ORB
PyGILState_Ensure();
Py_Finalize();
}
-
// Kill omniNames process
if (shutdownAll)
- {
- killOmniNames();
- }
+ self.killOtherServersIfNeeded();
MESSAGE("Salome_Session_Server:endofserver");
return result;