X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3ff57286d588a0fe37cce5bc46383c4c49d9b956..0facf52013684615c801816de974754778c9474a:/src/kernel/activity/CommImpl.cpp diff --git a/src/kernel/activity/CommImpl.cpp b/src/kernel/activity/CommImpl.cpp index e26fecfb53..44dcf48599 100644 --- a/src/kernel/activity/CommImpl.cpp +++ b/src/kernel/activity/CommImpl.cpp @@ -16,7 +16,6 @@ #include "src/surf/network_interface.hpp" #include "src/surf/surf_interface.hpp" -#include XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_network, simix, "SIMIX network-related synchronization"); XBT_PRIVATE void simcall_HANDLER_comm_send(smx_simcall_t simcall, smx_actor_t src, smx_mailbox_t mbox, double task_size, @@ -284,20 +283,14 @@ static void SIMIX_waitany_remove_simcall_from_actions(smx_simcall_t simcall) simgrid::kernel::activity::CommImpl** comms = simcall_comm_waitany__get__comms(simcall); size_t count = simcall_comm_waitany__get__count(simcall); - for (size_t i = 0; i < count; i++) { - // Remove the first occurrence of simcall: - auto* comm = comms[i]; - auto j = boost::range::find(comm->simcalls_, simcall); - if (j != comm->simcalls_.end()) - comm->simcalls_.erase(j); - } + for (size_t i = 0; i < count; i++) + comms[i]->unregister_simcall(simcall); } void simcall_HANDLER_comm_waitany(smx_simcall_t simcall, simgrid::kernel::activity::CommImpl* comms[], size_t count, double timeout) { if (MC_is_active() || MC_record_replay_is_active()) { - if (timeout > 0.0) - xbt_die("Timeout not implemented for waitany in the model-checker"); + xbt_assert(timeout <= 0.0, "Timeout not implemented for waitany in the model-checker"); int idx = simcall->mc_value_; auto* comm = comms[idx]; comm->simcalls_.push_back(simcall); @@ -489,7 +482,7 @@ void CommImpl::copy_data() /* Copy at most dst_buff_size bytes of the message to receiver's buffer */ if (dst_buff_size_) { - buff_size = std::min(buff_size, *(dst_buff_size_)); + buff_size = std::min(buff_size, *dst_buff_size_); /* Update the receiver's buffer size to the copied amount */ *dst_buff_size_ = buff_size;