undaemonize();
/* cancel non-blocking activities */
- for (auto activity : comms)
- boost::static_pointer_cast<activity::CommImpl>(activity)->cancel();
- comms.clear();
+ for (auto activity : activities)
+ activity->cancel();
+ activities.clear();
XBT_DEBUG("%s@%s(%ld) should not run anymore", get_cname(), get_host()->get_cname(), get_pid());
if (exec != nullptr) {
exec->clean_action();
} else if (comm != nullptr) {
- comms.remove(waiting_synchro);
// Remove first occurrence of &actor->simcall:
auto i = boost::range::find(waiting_synchro->simcalls_, &simcall);
if (i != waiting_synchro->simcalls_.end())
activity::ActivityImplPtr(waiting_synchro)->finish();
}
+ activities.remove(waiting_synchro);
waiting_synchro = nullptr;
}
/* cancel the blocking synchro if any */
if (waiting_synchro) {
waiting_synchro->cancel();
-
- activity::CommImplPtr comm = boost::dynamic_pointer_cast<activity::CommImpl>(waiting_synchro);
-
- if (comm != nullptr)
- comms.remove(comm);
-
+ activities.remove(waiting_synchro);
waiting_synchro = nullptr;
}
}