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.
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
<Name>set_paco_proxy</Name>
<Type>distributed</Type>
</Method>
+ </Interface>
+ <Interface>
+ <Name>Superv_Component</Name>
<Method>
<Name>init_service</Name>
<Type>distributed</Type>
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
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 \
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)];
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)
{
virtual ~Engines_ParallelDSC_i();
- //virtual CORBA::Boolean init_service(const char* service_name) {return true;}
-
/*!
* \see Engines::DSC::add_provides_port
*/
if (par < 0)
{
// Nodes case
+
command = "mpiexec -np " + string(buffer) + " ";
+// command += "gdb --args ";
command += real_exe_name;
command += " " + _NS->ContainerName(rtn);
command += " " + parallelLib;
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;