void ActorImpl::cleanup()
{
+ if (this == simix_global->maestro_process) /* Do not cleanup maestro */
+ return;
+
XBT_DEBUG("Cleanup actor %s (%p), waiting synchro %p", get_cname(), this, waiting_synchro.get());
simix_global->mutex.lock();
if (kill_time <= SIMIX_get_clock())
return;
XBT_DEBUG("Set kill time %f for actor %s@%s", kill_time, get_cname(), host_->get_cname());
- kill_timer = SIMIX_timer_set(kill_time, [this] {
+ kill_timer = simix::Timer::set(kill_time, [this] {
this->exit();
kill_timer = nullptr;
});
double ActorImpl::get_kill_time()
{
- return SIMIX_timer_get_date(kill_timer);
+ return kill_timer ? kill_timer->get_date() : 0;
}
static void dying_daemon(int /*exit_status*/, void* data)