From: ageay Date: Fri, 26 Nov 2004 12:44:11 +0000 (+0000) Subject: Porting on CCRT X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=834fe53c95f73feb0c081036ff994426aab1293d;p=modules%2Fkernel.git Porting on CCRT --- diff --git a/src/SALOMEDS/Makefile.in b/src/SALOMEDS/Makefile.in index fdd88a832..41c222733 100644 --- a/src/SALOMEDS/Makefile.in +++ b/src/SALOMEDS/Makefile.in @@ -116,6 +116,7 @@ BIN_SRC = 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) diff --git a/src/SALOMEDS/SALOMEDS_AttributeFlags_i.cxx b/src/SALOMEDS/SALOMEDS_AttributeFlags_i.cxx index ba29db2dc..d8eee23cb 100644 --- a/src/SALOMEDS/SALOMEDS_AttributeFlags_i.cxx +++ b/src/SALOMEDS/SALOMEDS_AttributeFlags_i.cxx @@ -26,10 +26,10 @@ // Module : SALOME // $Header$ -using namespace std; #include "SALOMEDS_AttributeFlags_i.hxx" #include "SALOMEDS_SObject_i.hxx" +using namespace std; /* Class : SALOMEDS_AttributeFlags_i diff --git a/src/TestContainer/SALOME_TestComponent_i.cxx b/src/TestContainer/SALOME_TestComponent_i.cxx index 3c765b45c..413fd2fa0 100644 --- a/src/TestContainer/SALOME_TestComponent_i.cxx +++ b/src/TestContainer/SALOME_TestComponent_i.cxx @@ -74,7 +74,14 @@ void Engines_TestComponent_i::Setenv() { 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: "< *Destructeurs=0 ; * pour effectuer cet enregistrement une seule fois indépendament de l'utilisateur. */ +//CCRT +static bool ATEXIT_Done = false ; +//CCRT + class ATEXIT_ { public : @@ -68,14 +72,20 @@ 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 ; // 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_( ) @@ -87,7 +97,7 @@ public : -static ATEXIT_ nettoyage ; /* singleton statique */ +static ATEXIT_ nettoyage = ATEXIT_( false ); /* singleton statique */ /*! @@ -139,6 +149,12 @@ const int DESTRUCTEUR_GENERIQUE_::Ajout( DESTRUCTEUR_GENERIQUE_ &objet ) // 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() ; diff --git a/src/Utils/Utils_Identity.py b/src/Utils/Utils_Identity.py index 4f4cc4520..76fbee914 100644 --- a/src/Utils/Utils_Identity.py +++ b/src/Utils/Utils_Identity.py @@ -49,8 +49,11 @@ class Identity: 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