]> SALOME platform Git repositories - modules/kernel.git/commitdiff
Salome HOME
- Port to the new version of PaCO++: 0.5.2
authorribes <ribes>
Thu, 26 Feb 2009 16:29:05 +0000 (16:29 +0000)
committerribes <ribes>
Thu, 26 Feb 2009 16:29:05 +0000 (16:29 +0000)
16 files changed:
salome_adm/unix/config_files/check_paco++.m4
src/Container/SALOME_ContainerManager.cxx
src/DSC/ParallelDSC/Makefile.am
src/DSC/ParallelDSC/ParallelDSC_i.cxx
src/DSC/ParallelDSC/ParallelDSC_i.hxx
src/ParallelContainer/Parallel_Salome_file_i.cxx
src/ParallelContainer/Parallel_Salome_file_i.hxx
src/ParallelContainer/SALOME_ParallelComponent_i.cxx
src/ParallelContainer/SALOME_ParallelComponent_i.hxx
src/ParallelContainer/SALOME_ParallelContainerNodeDummy.cxx
src/ParallelContainer/SALOME_ParallelContainerNodeMpi.cxx
src/ParallelContainer/SALOME_ParallelContainerProxyDummy.cxx
src/ParallelContainer/SALOME_ParallelContainerProxyMpi.cxx
src/ParallelContainer/SALOME_ParallelContainerProxy_i.hxx
src/ParallelContainer/SALOME_ParallelContainer_i.cxx
src/ParallelContainer/SALOME_ParallelContainer_i.hxx

index 844bbf68c5beef4d1768436e75576e09ceb8bc11..6d4fab27ce4e45bab170c5717accb90bf8dba6f1 100644 (file)
@@ -34,14 +34,14 @@ if test "x$WITHPACO" = "xyes";
 then
   PACOPATH=$withval
   PACO_INCLUDES="-I${PACOPATH}/include"
-  PACO_LIBS="-L${PACOPATH}/lib -lPaCO"
+  PACO_LIBS="-L${PACOPATH}/lib -lPaCO -lGaBro -lBasicBC"
   dnl a basic test to be sure that PaCO++
   dnl is correctly installed.
-  AC_CHECK_PROG(PACO_IDL, PaCOIdlTool, yes, no, ${PACOPATH}/bin)
+  AC_CHECK_PROG(PACO_IDL, PaCOIdlTool.sh, yes, no, ${PACOPATH}/bin)
   if test "x$PACO_IDL" = "xno";
   then
     PaCO_ok=no
-    AC_MSG_RESULT(PaCO++ binary not in ${PACOPATH})
+    AC_MSG_RESULT(PaCO++ binary not in ${PACOPATH}/bin)
   fi
 else
   PaCO_ok=no
@@ -51,7 +51,7 @@ AC_MSG_CHECKING(for PaCO++)
 if  test "x$PaCO_ok" = "xyes"
 then
   AC_MSG_RESULT([yes])
-  PACO_IDL=${PACOPATH}/bin/PaCOIdlTool
+  PACO_IDL=${PACOPATH}/bin/PaCOIdlTool.sh
   AC_SUBST(PACO_IDL)
   AC_SUBST(PACOPATH)
   AC_SUBST(PACO_INCLUDES)
index 3c7fdf021649b1be5d1454d72a60648294a30bb0..2d543ddcbf23030457db61d47ede35f40ff647b6 100644 (file)
@@ -34,7 +34,7 @@
 #include "Batch_Date.hxx"
 
 #ifdef WITH_PACO_PARALLEL
-#include "PaCO++.h"
+#include "PaCO++.hxx"
 #endif
 
 #define TIME_OUT_TO_LAUNCH_CONT 61
@@ -1262,17 +1262,49 @@ SALOME_ContainerManager::BuildCommandToLaunchLocalParallelContainer(const std::s
 
   if (parallelLib == "Dummy")
   {
+    command = "";
     //command = "gdb --args ";
     //command = "valgrind --tool=memcheck --log-file=val_log ";
     //command += real_exe_name;
 
-    command = real_exe_name;
+    if (par > 0)
+    {
+      string command_temp = real_exe_name;
+      command_temp += " " + _NS->ContainerName(rtn);
+      command_temp += " " + parallelLib;
+      command_temp += " " + hostname;
+      command_temp += " " + string(buffer);
+      command_temp += " -";
+      AddOmninamesParams(command_temp);
+      command += "/usr/X11R6/bin/xterm -e \"export LD_LIBRARY_PATH=$LD_LIBRARY_PATH; export PATH=$PATH;" 
+       +  command_temp 
+       + "\"&";
+    }
+    else
+    {
+      for (int i= 0; i < nbproc; i++)
+      {
+       string command_temp = real_exe_name;
 
-    command += " " + _NS->ContainerName(rtn);
-    command += " " + parallelLib;
-    command += " " + hostname;
-    command += " -";
-    AddOmninamesParams(command);
+       // A refaire en C++
+       char buffer_temp [33];
+       sprintf(buffer_temp,"%d",i);
+
+       command_temp += " " + _NS->ContainerName(rtn);
+       command_temp += " " + parallelLib;
+       command_temp += " " + hostname;
+       command_temp += " " + string(buffer_temp);
+       command_temp += " -";
+       AddOmninamesParams(command_temp);
+
+//     if (command != "")
+//       command += ";";
+
+       command += "/usr/X11R6/bin/xterm -e \"export LD_LIBRARY_PATH=$LD_LIBRARY_PATH; export PATH=$PATH;" 
+         +  command_temp 
+         + "\"&";
+      }
+    }
   }
 
   else if (parallelLib == "Mpi")
@@ -1287,7 +1319,7 @@ SALOME_ContainerManager::BuildCommandToLaunchLocalParallelContainer(const std::s
     {
       // Nodes case
 
-      command = "mpiexec -np " + string(buffer) + " ";
+      command = "mpirun -np " + string(buffer) + " ";
 //      command += "gdb --args ";
       command += real_exe_name;
       command += " " + _NS->ContainerName(rtn);
@@ -1299,7 +1331,7 @@ SALOME_ContainerManager::BuildCommandToLaunchLocalParallelContainer(const std::s
     else                                          
     {
       // Proxy case
-      command = "mpiexec -np 1 ";
+      command = "mpirun -np 1 ";
       command += real_exe_name;
       command += " " + _NS->ContainerName(rtn);
       command += " " + string(buffer);
@@ -1308,6 +1340,23 @@ SALOME_ContainerManager::BuildCommandToLaunchLocalParallelContainer(const std::s
       command += " -";
       AddOmninamesParams(command);
     }
+    // log choice
+    if (log == "default")
+    {
+      command += " > /tmp/";
+      command += _NS->ContainerName(rtn);
+      command += "_";
+      command += Kernel_Utils::GetHostname();
+      command += "_";
+      command += getenv( "USER" ) ;
+      command += ".log 2>&1 &" ;
+    }
+    if (log == "xterm")
+    {
+      command = "/usr/X11R6/bin/xterm -e \"export LD_LIBRARY_PATH=$LD_LIBRARY_PATH; export PATH=$PATH;  " 
+       //            + command + " \" &";
+       + command + "; echo $LD_LIBRARY_PATH; cat \" &";
+    }
   }
   else
   {
@@ -1315,23 +1364,6 @@ SALOME_ContainerManager::BuildCommandToLaunchLocalParallelContainer(const std::s
     throw SALOME_Exception(message.c_str());
   }
 
-  // log choice
-  if (log == "default")
-  {
-    command += " > /tmp/";
-    command += _NS->ContainerName(rtn);
-    command += "_";
-    command += Kernel_Utils::GetHostname();
-    command += "_";
-    command += getenv( "USER" ) ;
-    command += ".log 2>&1 &" ;
-  }
-  if (log == "xterm")
-  {
-    command = "/usr/X11R6/bin/xterm -e \"export LD_LIBRARY_PATH=$LD_LIBRARY_PATH; export PATH=$PATH;  " 
-             + command + " \" &";
-//           + command + "; echo $LD_LIBRARY_PATH; cat \" &";
-  }
   return command;
 
 /*  if (log == "xterm")
@@ -1361,10 +1393,12 @@ void SALOME_ContainerManager::startMPI()
   if (status == -1)
   {
     INFOS("lamboot failed : system command status -1");
+    _MpiStarted = true;
   }
   else if (status == 217)
   {
     INFOS("lamboot failed : system command status 217");
+    _MpiStarted = true;
   }
   else
   {
index b25c20235493c0293f657bcee17d0ec6083017ff..3fd8deefeb2bc1ce106c07cdd7873e71c500fd51 100644 (file)
@@ -31,7 +31,8 @@ include $(top_srcdir)/salome_adm/unix/make_common_starter.am
 # ===============================================================
 #
 # header files  
-salomeinclude_HEADERS = ParallelDSC_i.hxx
+salomeinclude_HEADERS = ParallelDSC_i.hxx param_double_port_provides.hxx \
+                       param_double_port_uses.hxx
 
 #
 # ===============================================================
@@ -53,7 +54,7 @@ COMMON_CPPFLAGS= -I$(top_srcdir)/src/Container \
                 -I$(top_srcdir)/src/Registry \
                 -I$(top_srcdir)/src/Utils \
                 @CORBA_CXXFLAGS@ @CORBA_INCLUDES@ \
-                @PACO_INCLUDES@
+                @PACO_INCLUDES@ @MPI_INCLUDES@
 
 # This local variable defines the list of dependant libraries common to all target in this package.
 COMMON_LIBS = 
@@ -65,7 +66,8 @@ COMMON_LIBS =
 #
 lib_LTLIBRARIES =  libSalomeParallelDSCContainer.la 
 
-libSalomeParallelDSCContainer_la_SOURCES  = ParallelDSC_i.cxx
+libSalomeParallelDSCContainer_la_SOURCES  = ParallelDSC_i.cxx param_double_port_provides.cxx \
+                                           param_double_port_uses.cxx
 
 libSalomeParallelDSCContainer_la_CXXFLAGS = $(COMMON_CPPFLAGS)
 
index 7fb691aa215ace795cbec0ba655a60952ebd6cb5..0c2706efe2e48d04274501c4e6b573415c0912cf 100644 (file)
@@ -35,10 +35,15 @@ Engines_ParallelDSC_i::Engines_ParallelDSC_i(CORBA::ORB_ptr orb,
                                             bool notif) :
   Engines_Parallel_Component_i(orb, ior, rank, poa, contId, instanceName, interfaceName, notif),
   Engines::Parallel_DSC_serv(orb, ior, rank),
+  Engines::Parallel_DSC_base_serv(orb, ior, rank),
   Engines::DSC_serv(orb, ior, rank),
+  Engines::DSC_base_serv(orb, ior, rank),
   Engines::Superv_Component_serv(orb, ior, rank),
+  Engines::Superv_Component_base_serv(orb, ior, rank),
   Engines::Component_serv(orb, ior, rank),
+  Engines::Component_base_serv(orb, ior, rank),
   Engines::Parallel_Component_serv(orb, ior, rank),
+  Engines::Parallel_Component_base_serv(orb, ior, rank),
   InterfaceParallel_impl(orb, ior, rank)
 {
 }
index e745a1cb37109b67afd9472c60253c6cdb54cc4c..e83d57d06200a0ff14d4001ea9e65684e46c13fb 100644 (file)
 #include <iostream>
 #include <map>
 
-#include "DSC_EnginesPaCO_Engines_Parallel_DSC_server.h"
 #include "DSC_interface.hxx"
 #include "SALOME_ParallelComponent_i.hxx"
 
+#include "DSC_EnginesPaCO_Engines_Parallel_DSC_server.hxx"
+#include "SALOME_PortsPaCO.hxx"
+
 class Engines_ParallelDSC_i: 
   public virtual Engines_Parallel_Component_i,
   public virtual Engines::Parallel_DSC_serv,
index c6969d61d316cce5d193f3c044952615d203f1e7..5ca8ec0c6780caee94a1b397de16dcb0750b7626 100644 (file)
@@ -32,8 +32,11 @@ Parallel_Salome_file_i::Parallel_Salome_file_i(CORBA::ORB_ptr orb,
                                               int rank) :
   InterfaceParallel_impl(orb,ior,rank), 
   Engines::Salome_file_serv(orb,ior,rank),
+  Engines::Salome_file_base_serv(orb,ior,rank),
   Engines::fileTransfer_serv(orb,ior,rank),
-  Engines::Parallel_Salome_file_serv(orb,ior,rank)
+  Engines::Parallel_Salome_file_serv(orb,ior,rank),
+  Engines::fileTransfer_base_serv(orb,ior,rank),
+  Engines::Parallel_Salome_file_base_serv(orb,ior,rank)
 {
   CORBA::Object_ptr obj = _orb->string_to_object(ior);
   proxy = Engines::Parallel_Salome_file::_narrow(obj);
index b2bcd852ce51d25ab1b00374f9843c5d3bc1f460..07ccd09924d399082429769a646cf5eb5f980590 100644 (file)
@@ -32,7 +32,7 @@
 #include <map>
 #include <cstdio>
 
-#include "SALOME_ComponentPaCO_Engines_Parallel_Salome_file_server.h"
+#include "SALOME_ComponentPaCO_Engines_Parallel_Salome_file_server.hxx"
 #include "Salome_file_i.hxx"
 
 class CONTAINER_EXPORT Parallel_Salome_file_i:
index 8e8cc6aee039c82c1e4b95072d231312e63245d2..5dff259901fd5bd797e83484a7132b5a17ed3fb8 100644 (file)
@@ -34,6 +34,7 @@
 #endif
 #include <cstdlib>
 #include "utilities.h"
+#include "Basics_Utils.hxx"
 
 #ifndef WIN32
 #include <sys/time.h>
@@ -64,7 +65,9 @@ bool Engines_Parallel_Component_i::_isMultiInstance = false;
 Engines_Parallel_Component_i::Engines_Parallel_Component_i(CORBA::ORB_ptr orb, char * ior, int rank) : 
   InterfaceParallel_impl(orb,ior,rank), 
   Engines::Component_serv(orb,ior,rank), 
-  Engines::Parallel_Component_serv(orb,ior,rank)
+  Engines::Component_base_serv(orb,ior,rank), 
+  Engines::Parallel_Component_serv(orb,ior,rank),
+  Engines::Parallel_Component_base_serv(orb,ior,rank)
 {
   //ASSERT(0);
   INFOS("Default Constructor...");
@@ -91,7 +94,9 @@ Engines_Parallel_Component_i::Engines_Parallel_Component_i(CORBA::ORB_ptr orb, c
                                          bool notif) :
   InterfaceParallel_impl(orb,ior,rank), 
   Engines::Component_serv(orb,ior,rank),
+  Engines::Component_base_serv(orb,ior,rank),
   Engines::Parallel_Component_serv(orb,ior,rank),
+  Engines::Parallel_Component_base_serv(orb,ior,rank),
   _instanceName(instanceName),
   _interfaceName(interfaceName),
   _myConnexionToRegistry(0),
index 3a72a55ccd1e58f2fedb692ec44e71597a73f659..49cbbfaa015fbb531e1418a3fc4e23934aa528af 100644 (file)
@@ -38,7 +38,7 @@
 #include <map>
 #include <SALOMEconfig.h>
 
-#include "SALOME_ComponentPaCO_Engines_Parallel_Component_server.h"
+#include "SALOME_ComponentPaCO_Engines_Parallel_Component_server.hxx"
 
 #include "NOTIFICATION.hxx"
 #include "RegistryConnexion.hxx"
@@ -112,6 +112,10 @@ public:
 
  void send_parallel_proxy_object(CORBA::Object_ptr proxy_ref);
 
+  // Object information
+  virtual bool hasObjectInfo() { return false; }
+  virtual char* getObjectInfo(CORBA::Long studyId, const char* entry) { return ""; }
+
   // --- local C++ methods
 
   PortableServer::ObjectId * getId(); 
index 61f5eda5c626218d2b63ede561af0d7be70458f4..165a86de3327a3902ca02f76ccc5d4d599bb1011 100644 (file)
@@ -42,6 +42,7 @@
 #include "SALOME_NamingService.hxx"
 
 #include "utilities.h"
+#include "Basics_Utils.hxx"
 #include "Utils_ORB_INIT.hxx"
 #include "Utils_SINGLETON.hxx"
 #include "SALOMETraceCollector.hxx"
@@ -128,6 +129,9 @@ int main(int argc, char* argv[])
   if(argc > 3) {
     hostname = argv[3];
   }
+  int myid = 0;
+  if(argc > 4) 
+    sscanf(argv[4],"%d",&myid);
 
   try {  
     CORBA::Object_var obj = orb->resolve_initial_references("RootPOA");
@@ -152,7 +156,7 @@ int main(int argc, char* argv[])
     string node_name = containerName + "Node";
     Engines_Parallel_Container_i * servant = new Engines_Parallel_Container_i(CORBA::ORB::_duplicate(orb), 
                                                                              proxy_ior,
-                                                                             0,
+                                                                             myid,
                                                                              root_poa,
                                                                              (char*) node_name.c_str(),
                                                                              argc, argv);
@@ -170,7 +174,6 @@ int main(int argc, char* argv[])
 
     // In the NamingService
     string hostname = Kernel_Utils::GetHostname();
-    int myid = 0;
     char buffer [5];
     snprintf(buffer, 5, "%d", myid);
     node_name = node_name + buffer;
index 7c8f6afc86d69d5ddea64e694a259c190055e312..a617a10d017fd1a1006acf4c2c8de267e242735f 100644 (file)
@@ -45,6 +45,7 @@
 #include "SALOME_NamingService.hxx"
 
 #include "utilities.h"
+#include "Basics_Utils.hxx"
 #include "Utils_ORB_INIT.hxx"
 #include "Utils_SINGLETON.hxx"
 #include "SALOMETraceCollector.hxx"
@@ -133,6 +134,7 @@ int main(int argc, char* argv[])
     std::cerr << "Unexpected: unexpected exception !"  << std::endl;
     setsig(SIGSEGV,&Handler);
     set_terminate(&terminateHandler);
+    //set_terminate(__gnu_cxx::__verbose_terminate_handler);
     set_unexpected(&unexpectedHandler);
   }
   cerr << "Level MPI_THREAD_SINGLE : " << MPI_THREAD_SINGLE << endl;
@@ -196,8 +198,9 @@ int main(int argc, char* argv[])
     paco_fabrique_manager * pfm = paco_getFabriqueManager();
     pfm->register_com("mpi", new paco_mpi_fabrique());
     pfm->register_thread("omni", new paco_omni_fabrique());
-    MPI_Comm group = MPI_COMM_WORLD;
-    servant->setLibCom("mpi", &group);
+    MPI_Comm parallel_object_group;
+    MPI_Comm_dup(MPI_COMM_WORLD, &parallel_object_group);
+    servant->setLibCom("mpi", &parallel_object_group);
     servant->setLibThread("omni");
 
     // Activation
index be5ee2add53943c6a59abdf885131a84fef38fef..f00184b644daad4a140b6b4bb7bc0effe4123b3d 100644 (file)
@@ -43,6 +43,7 @@
 #include "SALOME_NamingService.hxx"
 
 #include "utilities.h"
+#include "Basics_Utils.hxx"
 #include "Utils_ORB_INIT.hxx"
 #include "Utils_SINGLETON.hxx"
 #include "SALOMETraceCollector.hxx"
@@ -77,6 +78,9 @@ int main(int argc, char* argv[])
     containerName = argv[1];
   }
 
+  int nbnodes = 1;
+  if(argc > 4) 
+    sscanf(argv[4],"%d",&nbnodes);
   try {  
     CORBA::Object_var obj = orb->resolve_initial_references("RootPOA");
     ASSERT(!CORBA::is_nil(obj));
@@ -106,7 +110,7 @@ int main(int argc, char* argv[])
     proxy->setLibThread("omnithread");
     // Topo of the parallel object
     PaCO::PacoTopology_t serveur_topo;
-    serveur_topo.total = 1;
+    serveur_topo.total = nbnodes;
     proxy->setTopology(serveur_topo);
 
     PortableServer::ObjectId_var _id = root_poa->activate_object(proxy);
index 49bb1899f5b482f2222edaa858fbcbe2f2e13ca1..50b28cc43f0b262db2f727f07a1b6cab37b1fa6e 100644 (file)
 #include "SALOME_NamingService.hxx"
 
 #include "utilities.h"
+#include "Basics_Utils.hxx"
 #include "Utils_ORB_INIT.hxx"
 #include "Utils_SINGLETON.hxx"
 #include "SALOMETraceCollector.hxx"
 #include "OpUtil.hxx"
 using namespace std;
 
-#ifdef DEBUG_PARALLEL
+#ifdef _DEBUG_
 #include <signal.h>
 
+typedef void (*sighandler_t)(int);
+sighandler_t setsig(int sig, sighandler_t handler)
+{
+  struct sigaction context, ocontext;
+  context.sa_handler = handler;
+  sigemptyset(&context.sa_mask);
+  context.sa_flags = 0;
+  if (sigaction(sig, &context, &ocontext) == -1)
+    return SIG_ERR;
+  return ocontext.sa_handler;
+}
+
+void AttachDebugger()
+{
+  if(getenv ("DEBUGGER"))
+  {
+    std::stringstream exec;
+    exec << "$DEBUGGER SALOME_ParallelContainerProxyMpi " << getpid() << "&";
+    std::cerr << exec.str() << std::endl;
+    system(exec.str().c_str());
+    while(1);
+  }
+}
+
+void Handler(int theSigId)
+{
+  std::cerr << "SIGSEGV: "  << std::endl;
+  AttachDebugger();
+  //to exit or not to exit
+  exit(1);
+}
+
+void terminateHandler(void)
+{
+  std::cerr << "Terminate: not managed exception !"  << std::endl;
+  AttachDebugger();
+}
+
+void unexpectedHandler(void)
+{
+  std::cerr << "Unexpected: unexpected exception !"  << std::endl;
+  AttachDebugger();
+}
+
 void handler(int t) {
   cerr << "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" << endl;
   cerr << "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" << endl;
@@ -76,6 +121,15 @@ int main(int argc, char* argv[])
   MPI_Init_thread(&argc, &argv, MPI_THREAD_SERIALIZED ,&provided);
   CORBA::ORB_var orb = CORBA::ORB_init(argc, argv);
 
+  if(getenv ("DEBUGGER"))
+  {
+    std::cerr << "Unexpected: unexpected exception !"  << std::endl;
+    setsig(SIGSEGV,&Handler);
+    //set_terminate(&terminateHandler);
+    set_terminate(__gnu_cxx::__verbose_terminate_handler);
+    set_unexpected(&unexpectedHandler);
+  }
+
   std::string containerName("");
   containerName = argv[1];
   int nb_nodes;
@@ -105,8 +159,9 @@ int main(int argc, char* argv[])
     // PaCO++ code
     paco_fabrique_manager* pfm = paco_getFabriqueManager();
     pfm->register_com("mpi", new paco_mpi_fabrique());
-    MPI_Comm group = MPI_COMM_WORLD;
-    proxy->setLibCom("mpi", &group);
+    MPI_Comm parallel_object_group;
+    MPI_Comm_dup(MPI_COMM_WORLD, &parallel_object_group);
+    proxy->setLibCom("mpi", &parallel_object_group);
     pfm->register_thread("omnithread", new paco_omni_fabrique());
     proxy->setLibThread("omnithread");
     PaCO::PacoTopology_t serveur_topo;
index c35cddd6ca96030590040ae9a82b875c87b939d2..ef6e66367ea647f4fe415a67a2c6f697224d769c 100644 (file)
@@ -27,7 +27,7 @@
 #define _SALOME_PARALLEL_CONTAINER_PROXY_I_HXX_
 
 #include "utilities.h"
-#include "SALOME_ComponentPaCO_Engines_Container_server.h"
+#include "SALOME_ComponentPaCO_Engines_Container_server.hxx"
 
 class Container_proxy_impl_final :
   public Engines::Container_proxy_impl
index 52f5e70704c5459bf8dd69ee1945299fb587b894..2f45c86580674e212128c51b50eecaa998e557f1 100644 (file)
@@ -52,6 +52,7 @@ int SIGUSR1 = 1000;
 
 #include <paco_omni.h>
 #include "utilities.h"
+#include "Basics_Utils.hxx"
 using namespace std;
 
 bool _Sleeping = false ;
@@ -83,6 +84,7 @@ Engines_Parallel_Container_i::Engines_Parallel_Container_i (CORBA::ORB_ptr orb,
                                                            int rank) : 
   InterfaceParallel_impl(orb,ior,rank), 
   Engines::Container_serv(orb,ior,rank),
+  Engines::Container_base_serv(orb,ior,rank),
   _numInstance(0)
 {
 }
@@ -104,6 +106,7 @@ Engines_Parallel_Container_i::Engines_Parallel_Container_i (CORBA::ORB_ptr orb,
                                                           ) :
   InterfaceParallel_impl(orb,ior,rank), 
   Engines::Container_serv(orb,ior,rank),
+  Engines::Container_base_serv(orb,ior,rank),
   _numInstance(0),_isServantAloneInProcess(isServantAloneInProcess)
 {
   _pid = (long)getpid();
@@ -772,8 +775,6 @@ Engines_Parallel_Container_i::createParallelInstance(string genericRegisterName,
     // --- get reference & servant from id
     CORBA::Object_var obj = _poa->id_to_reference(*id);
     iobject2 = Engines::Component_PaCO::_narrow(obj) ;
-
-    // --- register the engine under the name
     _NS->Register(iobject2 , component_registerName.c_str()) ;
     MESSAGE( component_registerName.c_str() << " bound" ) ;
   }
index 1c09296f0bcdc795617d3f2a0d9ebc08265724e7..a35014c436e666bbe0aab56f61545212753c19a3 100644 (file)
@@ -29,7 +29,7 @@
 
 #include <SALOMEconfig.h>
 
-#include "SALOME_ComponentPaCO_Engines_Container_server.h"
+#include "SALOME_ComponentPaCO_Engines_Container_server.hxx"
 
 #include <iostream>
 #include <signal.h>