XBT_DEBUG("Cleanup actor %s (%p), waiting synchro %p", get_cname(), this, waiting_synchro.get());
+ /* Unregister from the kill timer if any */
+ if (kill_timer != nullptr) {
+ kill_timer->remove();
+ kill_timer = nullptr;
+ }
+
simix_global->mutex.lock();
simix_global->process_list.erase(pid_);
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;
- }
-
actor_->cleanup();
});
this->iwannadie = true;