LIB_SERVER_IDL = SALOMEDS.idl SALOMEDS_Attributes.idl SALOME_Exception.idl
BIN_SERVER_IDL = SALOMEDS.idl SALOMEDS_Attributes.idl
BIN_CLIENT_IDL =
+LIB_CLIENT_IDL = SALOME_Component.idl SALOME_GenericObj.idl
CPPFLAGS+=$(OCC_INCLUDES) $(HDF5_INCLUDES)
CXXFLAGS+=$(OCC_CXXFLAGS)
// Module : SALOME
// $Header$
-using namespace std;
#include "SALOMEDS_AttributeFlags_i.hxx"
#include "SALOMEDS_SObject_i.hxx"
+using namespace std;
/*
Class : SALOMEDS_AttributeFlags_i
{
const char* value;
(*it).second >>= value;
- int ret = setenv(cle.c_str(), value, overwrite);
+ //CCRT porting : setenv not defined in stdlib.h
+ std::string s(cle);
+ s+='=';
+ s+=value;
+ //char* cast because 1st arg of linux putenv function is not a const char* !!!
+ int ret=putenv((char *)s.c_str());
+ //End of CCRT porting
+ //int ret = setenv(cle.c_str(), value, overwrite);
MESSAGE("--- setenv: "<<cle<<" = "<< value);
}
}
LIB = libSalomeTestMPIComponentEngine.la
LIB_SRC = TestMPIComponentEngine.cxx
-LIB_CLIENT_IDL = Logger.idl SALOME_MPIObject.idl SALOME_TestMPIComponent.idl
+LIB_CLIENT_IDL = Logger.idl SALOME_MPIObject.idl SALOME_TestMPIComponent.idl SALOME_Component.idl
# Executables targets
BIN = TestMPIContainer
* pour effectuer cet enregistrement une seule fois indépendament de l'utilisateur.
*/
+//CCRT
+static bool ATEXIT_Done = false ;
+//CCRT
+
class ATEXIT_
{
public :
*
* La liste chaînée Destructeurs est détruite dans la fonction Nettoyage.
*/
- ATEXIT_( void )
+ //CCRT ATEXIT_( void )
+ ATEXIT_( bool Make_ATEXIT )
{
+ //CCRT
+ if ( Make_ATEXIT && !ATEXIT_Done ) {
+ //CCRT
ASSERT (Destructeurs==0);
if(MYDEBUG) MESSAGE("Construction ATEXIT"); // message necessaire pour utiliser logger dans Nettoyage (cf.BUG KERNEL4561)
Destructeurs = new list<DESTRUCTEUR_GENERIQUE_*> ; // Destructeurs alloué dynamiquement (cf. ci-dessous) ,
// il est utilisé puis détruit par la fonction Nettoyage
int cr = atexit( Nettoyage ); // exécute Nettoyage lors de exit, après la destruction des données statiques !
ASSERT(cr==0) ;
+ ATEXIT_Done = true ;
+ }
}
~ATEXIT_( )
-static ATEXIT_ nettoyage ; /* singleton statique */
+static ATEXIT_ nettoyage = ATEXIT_( false ); /* singleton statique */
/*!
// N.B. : l'ordre de creation des SINGLETON etant important
// on n'utilise pas deux fois la meme position pour
// les stocker dans la pile des objets.
+
+ //CCRT
+ if ( !ATEXIT_Done ) {
+ nettoyage = ATEXIT_( true ) ;
+ }
+ //CCRT
ASSERT(Destructeurs) ;
Destructeurs->push_back( &objet ) ;
return Destructeurs->size() ;
def __init__(self,name):
self._name = name
self._pid = os.getpid()
- self._machine = socket.gethostname()
- self._adip = socket.gethostbyname(self._machine) # IP adress
+ #self._machine = socket.gethostname()
+ HostName = os.getenv( "HOST" )
+ myMachine = string.split( HostName , '.' )
+ self._machine = myMachine[0]
+ self._adip = socket.gethostbyname( myMachine[0] ) # IP adress
self._uid = os.getuid()
list = pwd.getpwuid(self._uid)
self._pwname = list[0] # user name