DEVTRACE("atExitSingleton(" << Make_ATEXIT << ")");
assert(GENERIC_DESTRUCTOR::Destructors == 0);
GENERIC_DESTRUCTOR::Destructors = new std::list<GENERIC_DESTRUCTOR*>;
+#ifndef _DEBUG_
+ atexit(HouseKeeping);
+#else
int cr = atexit(HouseKeeping);
assert(cr == 0);
+#endif
atExitSingletonDone = true;
}
}
MPI_Status status;
MPI_Comm com;
char port_name_clt [MPI_MAX_PORT_NAME];
- float telps, tuser, tsys, tcpu;
T *_v;
long _n;
SALOME::MPISender::param* SALOME_MPISender_i::getParam()
{
char stag[12];
- int myproc,i=0;
+ int i=0;
SALOME::MPISender::param_var p = new SALOME::MPISender::param;
MPI_Comm_rank(MPI_COMM_WORLD,&_cproc);
void SALOME_MPISender_i::close(const SALOME::MPISender::param& p)
{
std::string service(p.service);
- const char *st=p.service;
void *r;
_newThr->join(&r);
MPI_Comm_free(&_com);
_listInstances_map[instanceName] = iobject;
_cntInstances_map[aGenRegisterName] += 1;
//SCRUTE(servant->pd_refCount);
+#ifndef _DEBUG_
+ servant->setStudyId(studyId);
+#else
bool ret_studyId = servant->setStudyId(studyId);
ASSERT(ret_studyId);
+#endif
// --- register the engine under the name
// containerName(.dir)/instanceName(.object)
// il est utilise puis detruit par la fonction Nettoyage
//To be sure the trace singleton will be the last one to be destroyed initialize it here before calling atexit
LocalTraceBufferPool::instance();
+#ifndef _DEBUG_
+ atexit( Nettoyage ); // execute Nettoyage lors de exit, aprs la destruction des donnees statiques !
+#else
int cr = atexit( Nettoyage ); // execute Nettoyage lors de exit, aprs la destruction des donnees statiques !
assert(cr==0) ;
+#endif
ATEXIT_Done = true ;
}
}