Ignore:
Timestamp:
10/01/21 10:40:31 (3 years ago)
Author:
jderouillat
Message:

Move context cleaning in xios_finalize (for clients) and when servers have finished their work

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/cxios.cpp

    r2241 r2243  
    175175 
    176176#endif 
    177       
    178      // Delete CContext 
    179      xios_map<StdString, xios_map<StdString, std::shared_ptr<CContext> > >* contextMap = CObjectTemplate<CContext>::GetAllMapobject(); 
    180      for(auto it = contextMap->begin(); it != contextMap->end(); ++it) 
    181      { 
    182        for(auto it2 = it->second.begin(); it2 != it->second.end(); ++it2) 
    183        { 
    184            std::shared_ptr<CContext> todel = it2->second; 
    185            todel.reset(); 
    186        } 
    187        it->second.clear(); 
    188  
    189        std::vector<std::shared_ptr<CContext> >*  contextVect = CObjectTemplate<CContext>::GetAllVectobjectPtr(it->first); 
    190        for(auto it = contextVect->begin(); it != contextVect->end(); ++it) 
    191        { 
    192            it->reset(); 
    193        } 
    194        contextVect->clear(); 
    195         
    196      } 
    197      contextMap->clear(); 
    198       
    199177  } 
    200178 
     
    247225    report(0)<<CMemChecker::getAllCumulatedMem() ; 
    248226    CServer::closeInfoStream(); 
    249      
    250     // Delete CContext 
    251     xios_map<StdString, xios_map<StdString, std::shared_ptr<CContext> > >* contextMap = CObjectTemplate<CContext>::GetAllMapobject(); 
    252     for(auto it = contextMap->begin(); it != contextMap->end(); ++it) 
    253     { 
    254       for(auto it2 = it->second.begin(); it2 != it->second.end(); ++it2) 
    255       { 
    256           std::shared_ptr<CContext> todel = it2->second; 
    257           todel.reset(); 
    258       } 
    259       it->second.clear(); 
    260  
    261       std::vector<std::shared_ptr<CContext> >*  contextVect = CObjectTemplate<CContext>::GetAllVectobjectPtr(it->first); 
    262       for(auto it = contextVect->begin(); it != contextVect->end(); ++it) 
    263       { 
    264           it->reset(); 
    265       } 
    266       contextVect->clear(); 
    267        
    268     } 
    269     contextMap->clear(); 
    270227  } 
    271228 
Note: See TracChangeset for help on using the changeset viewer.