Changeset 2569
- Timestamp:
- 09/14/23 14:55:37 (16 months ago)
- Location:
- XIOS3/trunk/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS3/trunk/src/event_scheduler.cpp
r2564 r2569 92 92 checkEvent_() ; 93 93 } 94 cleanSplitSchedulers(); 95 } 96 97 void CEventScheduler::cleanSplitSchedulers() 98 { 99 // Cleaning is operated recursively going from parent to child 100 if (parentScheduler_) 101 { 102 if (parentScheduler_->childScheduler_.get() == this) 103 { 104 parentScheduler_.reset(); 105 } 106 else // if orphan (due to splitScheduler) : clean parent tree (it does not have child) 107 { 108 parentScheduler_->cleanSplitSchedulers(); 109 parentScheduler_.reset(); 110 } 111 } 112 if (childScheduler_) 113 { 114 childScheduler_->cleanSplitSchedulers(); 115 childScheduler_.reset(); 116 } 94 117 } 95 118 -
XIOS3/trunk/src/event_scheduler.hpp
r2522 r2569 71 71 private: 72 72 void initialize(const MPI_Comm& comm) ; 73 void cleanSplitSchedulers(); 73 74 74 75 //! Send an event to the parent of level `lev+1` -
XIOS3/trunk/src/mpi_garbage_collector.hpp
r2310 r2569 27 27 if (it.type==SType::COMM) MPI_Comm_free(&it.comm); 28 28 else if (it.type==SType::WIN) MPI_Win_free(&it.win); 29 stack_.clear(); 29 30 } 30 31 } ;
Note: See TracChangeset
for help on using the changeset viewer.