Changeset 2566
- Timestamp:
- 09/14/23 09:32:36 (16 months ago)
- Location:
- XIOS3/trunk/src/transport
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS3/trunk/src/transport/one_sided_context_server.cpp
r2561 r2566 102 102 { 103 103 int rank=status.MPI_SOURCE ; 104 requests_[rank].push_back(new CRequest(interCommMerged_, status)) ; 104 auto& rankRequests = requests_[rank]; 105 rankRequests.push_back(new CRequest(interCommMerged_, status)) ; 105 106 // Test 1st request of the list, request treatment must be ordered 106 if (r equests_[rank].front()->test())107 if (rankRequests.front()->test()) 107 108 { 108 processRequest(*(r equests_[rank].front())) ;109 delete r equests_[rank].front();110 r equests_[rank].pop_front() ;109 processRequest(*(rankRequests.front())) ; 110 delete rankRequests.front(); 111 rankRequests.pop_front() ; 111 112 } 112 113 } … … 119 120 { 120 121 int rank = it_rank->first; 121 while ( (!requests_[rank].empty()) && (requests_[rank].front()->test()) ) 122 { 123 processRequest( *(requests_[rank].front()) ); 124 delete requests_[rank].front(); 125 requests_[rank].pop_front() ; 122 auto& rankRequests = it_rank->second; 123 while ( (!rankRequests.empty()) && (rankRequests.front()->test()) ) 124 { 125 processRequest( *(rankRequests.front()) ); 126 delete rankRequests.front(); 127 rankRequests.pop_front() ; 126 128 } 127 129 } -
XIOS3/trunk/src/transport/p2p_context_server.cpp
r2563 r2566 98 98 traceOff(); 99 99 MPI_Iprobe(MPI_ANY_SOURCE, 20,interCommMerged_, &flag, &status); 100 100 101 traceOn(); 101 102 if (flag==true) 102 103 { 103 104 int rank=status.MPI_SOURCE ; 104 requests_[rank].push_back(new CRequest(interCommMerged_, status)) ; 105 auto& rankRequests = requests_[rank]; 106 rankRequests.push_back(new CRequest(interCommMerged_, status)) ; 105 107 // Test 1st request of the list, request treatment must be ordered 106 if (r equests_[rank].front()->test())108 if (rankRequests.front()->test()) 107 109 { 108 processRequest( *(r equests_[rank].front()) );109 delete r equests_[rank].front();110 r equests_[rank].pop_front() ;110 processRequest( *(rankRequests.front()) ); 111 delete rankRequests.front(); 112 rankRequests.pop_front() ; 111 113 } 112 114 } … … 119 121 { 120 122 int rank = it_rank->first; 121 while ( (!requests_[rank].empty()) && (requests_[rank].front()->test()) ) 122 { 123 processRequest( *(requests_[rank].front()) ); 124 delete requests_[rank].front(); 125 requests_[rank].pop_front() ; 123 auto& rankRequests = it_rank->second; 124 while ( (!rankRequests.empty()) && (rankRequests.front()->test()) ) 125 { 126 processRequest( *(rankRequests.front()) ); 127 delete rankRequests.front(); 128 rankRequests.pop_front() ; 126 129 } 127 130 }
Note: See TracChangeset
for help on using the changeset viewer.