-// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2019 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
#else
CORBA::ORB_var orb = CORBA::ORB_init( argc, argv, "omniORB3" );
#endif
- SALOME_NamingService* NS;
+ SALOME_NamingService* NS = 0;
// Obtain a reference to the root POA.
long TIMESleep = 500000000;
int NumberOfTries = 40;
ts_rem.tv_nsec=0;
ts_rem.tv_sec=0;
CosNaming::NamingContext_var inc;
+ PortableServer::POA_var defaultPoa;
PortableServer::POA_var poa;
CORBA::Object_var theObj;
CORBA::Object_var obj;
{
obj = orb->resolve_initial_references("RootPOA");
if(!CORBA::is_nil(obj))
- poa = PortableServer::POA::_narrow(obj);
- if(!CORBA::is_nil(poa))
- pman = poa->the_POAManager();
+ defaultPoa = PortableServer::POA::_narrow(obj);
+ if(!CORBA::is_nil(defaultPoa))
+ pman = defaultPoa->the_POAManager();
+
+ PortableServer::POAManager_var pman = defaultPoa->the_POAManager();
+ CORBA::PolicyList policies;
+ policies.length(2);
+ //PortableServer::ThreadPolicy_var threadPol(defaultPoa->create_thread_policy(PortableServer::SINGLE_THREAD_MODEL));
+ PortableServer::ThreadPolicy_var threadPol(defaultPoa->create_thread_policy(PortableServer::ORB_CTRL_MODEL)); // default for all POAs
+ PortableServer::ImplicitActivationPolicy_var implicitPol(defaultPoa->create_implicit_activation_policy(PortableServer::IMPLICIT_ACTIVATION)); // default for Root_POA, NO for others
+ policies[0] = PortableServer::ThreadPolicy::_duplicate(threadPol);
+ policies[1] = PortableServer::ImplicitActivationPolicy::_duplicate(implicitPol);
+ poa = defaultPoa->create_POA("KERNELStandaloneStudySingleThreadPOA",pman,policies);
+ threadPol->destroy();
+ SALOMEDS_Study_i::SetThePOA(poa);
+
if(!CORBA::is_nil(orb))
theObj = orb->resolve_initial_references("NameService");
if (!CORBA::is_nil(theObj)){
#endif
orb->run();
MESSAGE( "end of SALOME_DS server" );
+ NS->Destroy_Name("/Study");
orb->destroy();
}
catch(CORBA::SystemException&)