]> SALOME platform Git repositories - modules/kernel.git/commitdiff
Salome HOME
CCAR: remove orb destroy and delete servant at exit
authorcaremoli <caremoli>
Wed, 16 Jan 2008 08:26:46 +0000 (08:26 +0000)
committercaremoli <caremoli>
Wed, 16 Jan 2008 08:26:46 +0000 (08:26 +0000)
src/Utils/Utils_DESTRUCTEUR_GENERIQUE.hxx
src/Utils/Utils_ORB_INIT.cxx

index a2544b6cea186c30e0b0626c64a15e4fe55733e7..c48e4afd95ae8cb15c128a7f711ccd5e752bff74 100644 (file)
@@ -34,6 +34,7 @@
 #include <list>
 #include <cassert>
 #include <omniORB4/CORBA.h>
+#include <iostream>
 //# include "utilities.h"
 
 /*!\class DESTRUCTEUR_GENERIQUE_
@@ -111,11 +112,13 @@ public :
     typedef PortableServer::ServantBase TServant;
     if(_PtrObjet){
       if(TServant* aServant = dynamic_cast<TServant*>(_PtrObjet)){
-       //cerr << "DESTRUCTEUR_GENERIQUE_::operator() deleting ServantBase's _PtrObjet" << endl;
+        std::cerr << "WARNING: automatic destruction for servant is no more used. It's too late in exit. Use explicit call" << std::endl;
+  /*
        PortableServer::POA_var aPOA = aServant->_default_POA();
        PortableServer::ObjectId_var anObjectId = aPOA->servant_to_id(aServant);
        aPOA->deactivate_object(anObjectId.in());
        aServant->_remove_ref();
+  */
       }else{
        //cerr << "DESTRUCTEUR_GENERIQUE_::operator() deleting _PtrObjet" << endl;
        TYPE* aPtr = static_cast<TYPE*>(_PtrObjet);
index 1cb869e1192e5f5250b6a1625772d15ebf00cffc..3eea5aef357fa055f73cc28cce503c53a88bf6e2 100644 (file)
@@ -40,13 +40,16 @@ ORB_INIT::~ORB_INIT()
 {
   if ( ! CORBA::is_nil( _orb ) )
   {
+    std::cerr << "WARNING: destroy is no more called at exit. Use explicit call." << std::endl;
     //std::cerr << "appel _orb->destroy()" << std::endl;
+    /*
     try {
       _orb->destroy() ;
     }
     catch(...) {
       MESSAGE("Caught CORBA::Exception.");
     }
+    */
     //std::cerr << "retour _orb->destroy()" << std::endl;
   }
 }