X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f84705b633d5ebb1f5e71eaeac8204014285f225..d94f920eb99dc33e8c592e89bcbbb3a8e50fe919:/src/s4u/s4u_Activity.cpp diff --git a/src/s4u/s4u_Activity.cpp b/src/s4u/s4u_Activity.cpp index 15111b80d1..6032b0d08a 100644 --- a/src/s4u/s4u_Activity.cpp +++ b/src/s4u/s4u_Activity.cpp @@ -25,7 +25,9 @@ template class xbt::Extendable; namespace s4u { xbt::signal Activity::on_veto; -xbt::signal Activity::on_completion; +xbt::signal Activity::on_completion; +xbt::signal Activity::on_suspended; +xbt::signal Activity::on_resumed; std::set* Activity::vetoed_activities_ = nullptr; @@ -84,7 +86,8 @@ bool Activity::test() kernel::actor::ActorImpl* issuer = kernel::actor::ActorImpl::self(); kernel::actor::ActivityTestSimcall observer{issuer, pimpl_.get()}; - if (kernel::actor::simcall([&observer] { return observer.get_activity()->test(observer.get_issuer()); }, &observer)) { + if (kernel::actor::simcall_answered([&observer] { return observer.get_activity()->test(observer.get_issuer()); }, + &observer)) { complete(State::FINISHED); return true; } @@ -99,7 +102,7 @@ ssize_t Activity::test_any(const std::vector& activities) kernel::actor::ActorImpl* issuer = kernel::actor::ActorImpl::self(); kernel::actor::ActivityTestanySimcall observer{issuer, ractivities}; - ssize_t changed_pos = kernel::actor::simcall( + ssize_t changed_pos = kernel::actor::simcall_answered( [&observer] { return kernel::activity::ActivityImpl::test_any(observer.get_issuer(), observer.get_activities()); }, @@ -130,7 +133,7 @@ ssize_t Activity::wait_any_for(const std::vector& activities, doubl Activity* Activity::cancel() { - kernel::actor::simcall([this] { + kernel::actor::simcall_answered([this] { XBT_HERE(); if (pimpl_) pimpl_->cancel();