Skip to content
Snippets Groups Projects
Commit e8af9d82 authored by Jö Fahlke's avatar Jö Fahlke
Browse files

Merge branch 'fix-send-for-variable-size-communicator-master' into 'master'

Do not assume that the complete message fits into tht buffer when sending in VariableSizeCommunicator

Closes #105

See merge request core/dune-common!416

(cherry picked from commit 407bb7c9)

b644237b Do not assume that a message cannot be split into multiple messages when sending.
91bb93d2 Use decrement operator
parent 8a289c00
No related branches found
No related tags found
3 merge requests!586Centralize CI config for 2.6 release,!531Update CI for 2.6 release branch,!418Merge branch 'fix-send-for-variable-size-communicator-master' into 'master'
Pipeline #
......@@ -868,7 +868,7 @@ std::size_t checkAndContinue(DataHandle& handle,
comm_func(handle, tracker, buffers[*index], requests2[*index], comm);
tracker.skipZeroIndices();
if(valid)
no_completed-=!tracker.finished(); // communication not finished, decrement counter for finished ones.
--no_completed; // communication not finished, decrement counter for finished ones.
}
}
return no_completed;
......@@ -1088,7 +1088,7 @@ void VariableSizeCommunicator<Allocator>::communicateSizes(DataHandle& handle,
if(i->empty())
--size_to_recv;
size_to_send -= setupRequests(size_handle, send_trackers, send_buffers, send_requests,
setupRequests(size_handle, send_trackers, send_buffers, send_requests,
SetupSendRequest<SizeDataHandle<DataHandle> >(), communicator_);
setupRequests(size_handle, recv_trackers, recv_buffers, recv_requests,
SetupRecvRequest<SizeDataHandle<DataHandle> >(), communicator_);
......@@ -1131,7 +1131,7 @@ void VariableSizeCommunicator<Allocator>::communicateVariableSize(DataHandle& ha
std::size_t no_to_send, no_to_recv;
no_to_send = no_to_recv = interface_->size();
// Setup requests for sending and receiving.
no_to_send -= setupRequests(handle, send_trackers, send_buffers, send_requests,
setupRequests(handle, send_trackers, send_buffers, send_requests,
SetupSendRequest<DataHandle>(), communicator_);
setupRequests(handle, recv_trackers, recv_buffers, recv_requests,
SetupRecvRequest<DataHandle>(), communicator_);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment