+ /* cancel non-blocking activities */
+ for (auto activity : actor_->comms)
+ boost::static_pointer_cast<activity::CommImpl>(activity)->cancel();
+ actor_->comms.clear();
+
+ XBT_DEBUG("%s@%s(%ld) should not run anymore", actor_->get_cname(), actor_->iface()->get_host()->get_cname(),
+ actor_->get_pid());
+
+ this->actor_->cleanup();
+
+ this->iwannadie = false; // don't let the simcall's yield() do a Context::stop(), because that's me
+ simgrid::simix::simcall([this] {
+ simgrid::s4u::Actor::on_destruction(actor_->iface());
+
+ /* Unregister from the kill timer if any */
+ if (actor_->kill_timer != nullptr) {
+ actor_->kill_timer->remove();
+ actor_->kill_timer = nullptr;
+ }