extern "C" {void ActSigIntHandler() ; }
extern "C" {void SigIntHandler(int, siginfo_t *, void *) ; }
+Engines_Container_i::Engines_Container_i () :
+ _numInstance(0)
+{
+}
+
Engines_Container_i::Engines_Container_i (CORBA::ORB_ptr orb,
PortableServer::POA_ptr poa,
char *containerName ,
_numInstance(0)
{
- ActSigIntHandler() ;
+ if(regist)
+ ActSigIntHandler() ;
_ArgC = argc ;
_ArgV = argv ;
}
string hostname = GetHostname();
MESSAGE(hostname << " " << getpid() << " Engines_Container_i starting argc "
- << _argc << " Thread " << pthread_self() ) ;
+ << _argc << " Thread " << pthread_self() ) ;
i = 0 ;
while ( _argv[ i ] ) {
MESSAGE(" argv" << i << " " << _argv[ i ]) ;
BCastIOR(_orb,pobj,true);
}
+Engines_MPIContainer_i::Engines_MPIContainer_i(int nbproc, int numproc)
+ : Engines_Container_i(), MPIObject_i(nbproc,numproc)
+{
+}
+
Engines_MPIContainer_i::~Engines_MPIContainer_i(void)
{
MESSAGE("[" << _numproc << "] Engines_MPIContainer_i::~Engines_MPIContainer_i()");
PortableServer::POA_ptr poa,
char * containerName,
int argc, char *argv[]);
+ Engines_MPIContainer_i(int nbproc, int numproc);
// Destructor
~Engines_MPIContainer_i();
}
else{
// On envoie l'IOR au process 0
- n = strlen((char*)sior);
+ ior = sior._retn();
+ n = strlen(ior) + 1;
err = MPI_Send(&n,1,MPI_INTEGER,0,_numproc,MPI_COMM_WORLD);
if(err){
MESSAGE("[" << _numproc << "] MPI_SEND error");
exit(1);
}
- err = MPI_Send((char*)sior,n,MPI_CHARACTER,0,2*_numproc,MPI_COMM_WORLD);
+ err = MPI_Send(ior,n,MPI_CHARACTER,0,2*_numproc,MPI_COMM_WORLD);
if(err){
MESSAGE("[" << _numproc << "] MPI_SEND error");
exit(1);
}
}
+ MPI_Barrier(MPI_COMM_WORLD);
+
}