X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ba43262d5e3a9752bc0decba403c8c7d4f5e71f2..021e27fc5af34eab44297b9a49a53a65b27f6865:/src/kernel/activity/ActivityImpl.cpp diff --git a/src/kernel/activity/ActivityImpl.cpp b/src/kernel/activity/ActivityImpl.cpp index a81face683..015ca2064b 100644 --- a/src/kernel/activity/ActivityImpl.cpp +++ b/src/kernel/activity/ActivityImpl.cpp @@ -108,6 +108,10 @@ void ActivityImpl::wait_for(actor::ActorImpl* issuer, double timeout) if (state_ != State::WAITING && state_ != State::RUNNING) { finish(); } else { + /* As Messages in Message Queues are virtually instantaneous, we do not need a timeout */ + /* Or maybe we do, and will have to implement a specific way to handle them is need arises */ + if (dynamic_cast(this) != nullptr) + return; /* we need a sleep action (even when the timeout is infinite) to be notified of host failures */ /* Comms handle that a bit differently of the other activities */ if (auto* comm = dynamic_cast(this)) { @@ -176,10 +180,6 @@ void ActivityImpl::wait_any_for(actor::ActorImpl* issuer, const std::vectorget_remains()); get_iface()->fire_on_suspend(); get_iface()->fire_on_this_suspend();