X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/2be8ce37c4ff2c151c8cb5f8daa7ee069c136911..8d0b1f2f1840a16bb9551f1cfd74f2488599f95b:/src/kernel/activity/ActivityImpl.cpp diff --git a/src/kernel/activity/ActivityImpl.cpp b/src/kernel/activity/ActivityImpl.cpp index 5d7c92222a..69a6936e0d 100644 --- a/src/kernel/activity/ActivityImpl.cpp +++ b/src/kernel/activity/ActivityImpl.cpp @@ -115,9 +115,9 @@ void ActivityImpl::wait_for(actor::ActorImpl* issuer, double timeout) sleep_action->set_activity(comm); if (issuer == comm->src_actor_) - comm->src_timeout_ = sleep_action; + comm->src_timeout_.reset(sleep_action); else - comm->dst_timeout_ = sleep_action; + comm->dst_timeout_.reset(sleep_action); } else { SynchroImplPtr synchro(new SynchroImpl([this, issuer]() { this->unregister_simcall(&issuer->simcall_); @@ -176,11 +176,10 @@ void ActivityImpl::wait_any_for(actor::ActorImpl* issuer, const std::vectorget_remains()); + get_iface()->fire_on_suspend(); + get_iface()->fire_on_this_suspend(); model_action_->suspend(); - s4u::Activity::on_suspended(*get_iface()); } void ActivityImpl::resume() @@ -188,8 +187,9 @@ void ActivityImpl::resume() if (model_action_ == nullptr) return; XBT_VERB("This activity is resumed (remain: %f)", model_action_->get_remains()); + get_iface()->fire_on_resume(); + get_iface()->fire_on_this_resume(); model_action_->resume(); - s4u::Activity::on_resumed(*get_iface()); } void ActivityImpl::cancel() @@ -236,4 +236,5 @@ void intrusive_ptr_release(ActivityImpl* activity) delete activity; } } + } // namespace simgrid::kernel::activity