From 9d8760a6b5e93b4d92872ebe8cefa3d25404b10b Mon Sep 17 00:00:00 2001 From: ribes Date: Wed, 20 Jun 2007 08:34:19 +0000 Subject: [PATCH] - YACS patch for PaCO++ containers and components --- idl/DSC_Engines.idl | 13 ++----------- idl/DSC_Engines.xml | 3 +++ idl/Makefile.am | 4 ++++ src/Container/SALOME_ContainerManager.cxx | 4 ++++ src/DSC/ParallelDSC/ParallelDSC_i.cxx | 2 +- src/DSC/ParallelDSC/ParallelDSC_i.hxx | 2 -- src/ResourcesManager/SALOME_ResourcesManager.cxx | 7 ++++--- 7 files changed, 18 insertions(+), 17 deletions(-) diff --git a/idl/DSC_Engines.idl b/idl/DSC_Engines.idl index 9ace69068..e27795bc0 100644 --- a/idl/DSC_Engines.idl +++ b/idl/DSC_Engines.idl @@ -370,7 +370,7 @@ module Engines { This interface defines the operations needed to add a paco++ port into a parallel DSC component. */ - interface Parallel_DSC : Engines::DSC { + interface Parallel_DSC : Engines::Superv_Component { /*! This operation gives the proxy node of a paco++ port to all the nodes. @@ -385,17 +385,8 @@ module Engines { void set_paco_proxy(in Object ref, in string provides_port_name, in Ports::PortProperties port_prop); - - /*! - The SUPERV module call this method before starting the service. Thus the service - can add is dynamics ports before is started. - - \param service_name service's name. - \return true if the service is correctly initialised. - */ - boolean init_service(in string service_name); - }; + }; }; #endif diff --git a/idl/DSC_Engines.xml b/idl/DSC_Engines.xml index 5db294c08..a4d5603b6 100644 --- a/idl/DSC_Engines.xml +++ b/idl/DSC_Engines.xml @@ -46,6 +46,9 @@ set_paco_proxy distributed + + + Superv_Component init_service distributed diff --git a/idl/Makefile.am b/idl/Makefile.am index 8ddeafd24..fe3803041 100644 --- a/idl/Makefile.am +++ b/idl/Makefile.am @@ -135,6 +135,8 @@ GEN_PACO = SALOME_ComponentPaCO_Engines_Container_server.cc \ SALOME_PortsPaCO_Ports_Port_client.cc \ DSC_EnginesPaCO_Engines_DSC_server.cc \ DSC_EnginesPaCO_Engines_DSC_client.cc \ + DSC_EnginesPaCO_Engines_Superv_Component_server.cc \ + DSC_EnginesPaCO_Engines_Superv_Component_client.cc \ DSC_EnginesPaCO_Engines_Parallel_DSC_server.cc \ DSC_EnginesPaCO_Engines_Parallel_DSC_client.cc @@ -150,6 +152,8 @@ INCLUDES_PACO = SALOME_ComponentPaCO_Engines_Container_server.h \ SALOME_Ports.h \ DSC_EnginesPaCO_Engines_DSC_server.h \ DSC_EnginesPaCO_Engines_DSC_client.h \ + DSC_EnginesPaCO_Engines_Superv_Component_server.h \ + DSC_EnginesPaCO_Engines_Superv_Component_client.h \ DSC_EnginesPaCO_Engines_Parallel_DSC_server.h \ DSC_EnginesPaCO_Engines_Parallel_DSC_client.h \ DSC_EnginesPaCO.h \ diff --git a/src/Container/SALOME_ContainerManager.cxx b/src/Container/SALOME_ContainerManager.cxx index 962eded14..2b96b3d08 100644 --- a/src/Container/SALOME_ContainerManager.cxx +++ b/src/Container/SALOME_ContainerManager.cxx @@ -185,6 +185,10 @@ StartContainer(const Engines::MachineParameters& params, const Engines::MachineList& possibleComputers, Engines::ResPolicy policy) { +#ifdef WITH_PACO_PARALLEL + if (params.parallelLib != "") + return FindOrStartParallelContainer(params, possibleComputers); +#endif long id; string containerNameInNS; char idc[3*sizeof(long)]; diff --git a/src/DSC/ParallelDSC/ParallelDSC_i.cxx b/src/DSC/ParallelDSC/ParallelDSC_i.cxx index eba3c8e55..7e19a253a 100644 --- a/src/DSC/ParallelDSC/ParallelDSC_i.cxx +++ b/src/DSC/ParallelDSC/ParallelDSC_i.cxx @@ -34,7 +34,7 @@ Engines_ParallelDSC_i::Engines_ParallelDSC_i(CORBA::ORB_ptr orb, char * ior, Engines_Parallel_Component_i(orb, ior, poa, contId, instanceName, interfaceName, notif), Engines::Parallel_DSC_serv(orb, ior), Engines::DSC_serv(orb, ior), -// Engines::Superv_Component_serv(orb, ior), + Engines::Superv_Component_serv(orb, ior), Engines::Component_serv(orb, ior), InterfaceParallel_impl(orb,ior) { diff --git a/src/DSC/ParallelDSC/ParallelDSC_i.hxx b/src/DSC/ParallelDSC/ParallelDSC_i.hxx index 0524de5ea..ed900566f 100644 --- a/src/DSC/ParallelDSC/ParallelDSC_i.hxx +++ b/src/DSC/ParallelDSC/ParallelDSC_i.hxx @@ -49,8 +49,6 @@ public: virtual ~Engines_ParallelDSC_i(); - //virtual CORBA::Boolean init_service(const char* service_name) {return true;} - /*! * \see Engines::DSC::add_provides_port */ diff --git a/src/ResourcesManager/SALOME_ResourcesManager.cxx b/src/ResourcesManager/SALOME_ResourcesManager.cxx index 3552c1128..01bf2756b 100644 --- a/src/ResourcesManager/SALOME_ResourcesManager.cxx +++ b/src/ResourcesManager/SALOME_ResourcesManager.cxx @@ -993,7 +993,9 @@ SALOME_ResourcesManager::BuildCommandToLaunchLocalParallelContainer(const std::s if (par < 0) { // Nodes case + command = "mpiexec -np " + string(buffer) + " "; +// command += "gdb --args "; command += real_exe_name; command += " " + _NS->ContainerName(rtn); command += " " + parallelLib; @@ -1029,9 +1031,8 @@ SALOME_ResourcesManager::BuildCommandToLaunchLocalParallelContainer(const std::s if (log == "xterm") { command = "/usr/X11R6/bin/xterm -e \"export LD_LIBRARY_PATH=$LD_LIBRARY_PATH; export PATH=$PATH; " - + command + " \" &"; - //command = "/usr/X11R6/bin/xterm -e \"export LD_LIBRARY_PATH=$LD_LIBRARY_PATH; export PATH=$PATH; " - // + command + "; cat \" &"; + + command + " \" &"; +// + command + "; echo $LD_LIBRARY_PATH; cat \" &"; } return command; -- 2.39.2