Changeset 2564 for XIOS3/trunk
- Timestamp:
- 09/13/23 12:28:29 (17 months ago)
- Location:
- XIOS3/trunk/src
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS3/trunk/src/event_scheduler.cpp
r2522 r2564 3 3 #include "mpi.hpp" 4 4 #include "tracer.hpp" 5 #include "cxios.hpp" 5 6 6 7 namespace xios … … 27 28 { 28 29 MPI_Comm_dup(comm, &communicator_) ; 30 CXios::getMpiGarbageCollector().registerCommunicator(communicator_) ; 29 31 MPI_Comm_size(communicator_,&mpiSize_) ; 30 32 MPI_Comm_rank(communicator_,&mpiRank_); … … 100 102 else color=0 ; 101 103 MPI_Comm_split(communicator_, color, mpiRank_, &newComm) ; 104 CXios::getMpiGarbageCollector().registerCommunicator(newComm) ; 102 105 103 106 parent = make_shared<CEventScheduler>(newComm , schedulerLevel_) ; -
XIOS3/trunk/src/node/context.cpp
r2547 r2564 77 77 if (registryIn!=nullptr) delete registryIn ; 78 78 if (registryOut!=nullptr) delete registryOut ; 79 80 if (onlineContextClient_!=nullptr) delete onlineContextClient_; 79 81 } 80 82 -
XIOS3/trunk/src/transport/context_client.hpp
r2556 r2564 35 35 // Contructor 36 36 CContextClient(CContext* parent, MPI_Comm intraComm, MPI_Comm interComm, CContext* parentServer = 0); 37 virtual ~CContextClient() {} 37 38 38 39 bool isServerLeader(void) const; -
XIOS3/trunk/src/transport/context_server.hpp
r2556 r2564 22 22 23 23 CContextServer(CContext* parent,MPI_Comm intraComm,MPI_Comm interComm) ; 24 ~CContextServer() {}24 virtual ~CContextServer() {} 25 25 void setAssociatedClient(CContextClient* associatedClient) {associatedClient_=associatedClient ;} 26 26 CContextClient* getAssociatedClient(void) { return associatedClient_ ;} -
XIOS3/trunk/src/transport/p2p_server_buffer.cpp
r2558 r2564 113 113 114 114 if (buffers_.size()>1) 115 if (buffers_.front()->getCount()==0) buffers_.pop_front() ; // if buffer is empty free buffer 115 { 116 if (buffers_.front()->getCount()==0) { 117 delete buffers_.front(); 118 buffers_.pop_front() ; // if buffer is empty free buffer 119 } 120 } 116 121 } 117 122 … … 422 427 bloc.buffer->free(bloc.start, bloc.count) ; // free bloc 423 428 addr=bloc.addr ; 424 if (bloc.buffer->getCount()==0) if (buffers_.size() > 1) buffers_.pop_front() ; // if buffer is empty free buffer 429 if (bloc.buffer->getCount()==0) 430 { 431 if (buffers_.size() > 1) 432 { 433 delete buffers_.front(); 434 buffers_.pop_front() ; // if buffer is empty free buffer 435 } 436 } 425 437 } 426 438 event.push(clientRank_, nullptr, buffer, size) ; -
XIOS3/trunk/src/transport/p2p_server_buffer.hpp
r2558 r2564 36 36 { 37 37 if (count_>0) ERROR("COneSidedServerBuffer::~CBuffer()",<<"Try to delete buffer that is not empty"<<std::endl) ; 38 MPI_Free_mem( &buffer_) ;38 MPI_Free_mem(buffer_) ; 39 39 } 40 40 … … 106 106 map<size_t, SPendingEvent>& completedEvents, vector<char>& buffer) ; 107 107 108 ~CP2pServerBuffer() 109 { 110 while (!buffers_.empty()) { 111 delete buffers_.front(); 112 buffers_.pop_front() ; // if buffer is empty free buffer 113 } 114 }; 115 108 116 void receivedRequest(vector<char>& buffer) ; 109 117 void eventLoop(void) ;
Note: See TracChangeset
for help on using the changeset viewer.