]> SALOME platform Git repositories - modules/kernel.git/commitdiff
Salome HOME
Porting on CCRT
authorageay <ageay>
Fri, 26 Nov 2004 12:44:11 +0000 (12:44 +0000)
committerageay <ageay>
Fri, 26 Nov 2004 12:44:11 +0000 (12:44 +0000)
src/SALOMEDS/Makefile.in
src/SALOMEDS/SALOMEDS_AttributeFlags_i.cxx
src/TestContainer/SALOME_TestComponent_i.cxx
src/TestMPIContainer/Makefile.in
src/Utils/Utils_DESTRUCTEUR_GENERIQUE.cxx
src/Utils/Utils_Identity.py

index fdd88a832c20d544862b731518258df69ba90aa1..41c2227333ebdc898aa5052938e60974e67cd105 100644 (file)
@@ -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)
index ba29db2dc3afdaa91e31df0808c4a527d62f0dda..d8eee23cbe58fd6aa7a8ac77e9c124d2b821062d 100644 (file)
 //  Module : SALOME
 //  $Header$
 
-using namespace std;
 #include "SALOMEDS_AttributeFlags_i.hxx"
 #include "SALOMEDS_SObject_i.hxx"
 
+using namespace std;
 
 /*
   Class       : SALOMEDS_AttributeFlags_i
index 3c765b45cb55610ae79301b8997815a351c6b3ae..413fd2fa04bfecbc49d694c2d70ca6c6cdd66272 100644 (file)
@@ -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: "<<cle<<" = "<< value);
        }
     }
index 59ba1abad460c31ba24fe36576f420e1b4edc2a0..3924ce0e012f2bb5858e797395d0b8680f41da9d 100644 (file)
@@ -23,7 +23,7 @@ EXPORT_HEADERS = TestMPIComponentEngine.hxx
 
 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
index 268aa1f3038a26672827cb05b38e49743b0f893e..62ce955efcf89946da8ca849203b912f95551eb8 100644 (file)
@@ -59,6 +59,10 @@ static list<DESTRUCTEUR_GENERIQUE_*> *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<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_( )
@@ -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() ;
index 4f4cc4520cf7d2febefa83ab9acaefad102dba09..76fbee914f7ab0155e6bb715f28fa5df707c8475 100644 (file)
@@ -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