ActorImpl::~ActorImpl()
{
- if (simix_global != nullptr && this != simix_global->maestro_process) {
+ if (simix_global != nullptr && this != simix_global->maestro_) {
if (context_.get() != nullptr) /* the actor was not start()ed yet. This happens if its host was initially off */
context_->iwannadie = false; // don't let the simcall's yield() do a Context::stop(), to avoid infinite loops
simgrid::kernel::actor::simcall([this] { simgrid::s4u::Actor::on_destruction(*ciface()); });
XBT_DEBUG("%s@%s(%ld) should not run anymore", get_cname(), get_host()->get_cname(), get_pid());
- if (this == simix_global->maestro_process) /* Do not cleanup maestro */
+ if (this == simix_global->maestro_) /* Do not cleanup maestro */
return;
XBT_DEBUG("Cleanup actor %s (%p), waiting synchro %p", get_cname(), this, waiting_synchro.get());
void ActorImpl::kill(ActorImpl* actor)
{
- xbt_assert(actor != simix_global->maestro_process, "Killing maestro is a rather bad idea");
+ xbt_assert(actor != simix_global->maestro_, "Killing maestro is a rather bad idea");
if (actor->finished_) {
XBT_DEBUG("Ignoring request to kill actor %s@%s that is already dead", actor->get_cname(),
actor->host_->get_cname());
s4u::Actor* ActorImpl::restart()
{
- xbt_assert(this != simix_global->maestro_process, "Restarting maestro is not supported");
+ xbt_assert(this != simix_global->maestro_, "Restarting maestro is not supported");
XBT_DEBUG("Restarting actor %s on %s", get_cname(), host_->get_cname());
void ActorImpl::simcall_answer()
{
- if (this != simix_global->maestro_process){
+ if (this != simix_global->maestro_) {
XBT_DEBUG("Answer simcall %s (%d) issued by %s (%p)", SIMIX_simcall_name(simcall.call_), (int)simcall.call_,
get_cname(), this);
simcall.call_ = SIMCALL_NONE;
}
maestro->simcall.issuer_ = maestro;
- simix_global->maestro_process = maestro;
+ simix_global->maestro_ = maestro;
}
} // namespace actor
void ThreadContext::attach_start()
{
// We're breaking the layers here by depending on the upper layer:
- ThreadContext* maestro = static_cast<ThreadContext*>(simix_global->maestro_process->context_.get());
+ ThreadContext* maestro = static_cast<ThreadContext*>(simix_global->maestro_->context_.get());
maestro->begin_.release();
xbt_assert(not this->is_maestro());
this->start();
xbt_assert(not this->is_maestro());
this->yield();
- ThreadContext* maestro = static_cast<ThreadContext*>(simix_global->maestro_process->context_.get());
+ ThreadContext* maestro = static_cast<ThreadContext*>(simix_global->maestro_->context_.get());
maestro->end_.acquire();
Context::set_current(nullptr);
{
smx_actor_t self = SIMIX_process_self();
simgrid::simix::marshal(&self->simcall, call, t...);
- if (self != simix_global->maestro_process) {
+ if (self != simix_global->maestro_) {
XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->get_cname(), SIMIX_simcall_name(self->simcall.call_),
(int)self->simcall.call_);
self->yield();
{
smx_actor_t self = SIMIX_process_self();
simgrid::simix::marshal(&self->simcall, call, t...);
- if (self != simix_global->maestro_process) {
+ if (self != simix_global->maestro_) {
XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->get_cname(), SIMIX_simcall_name(self->simcall.call_),
(int)self->simcall.call_);
self->yield();
surf_init(argc, argv); /* Initialize SURF structures */
simix_global.reset(new simgrid::simix::Global());
- simix_global->maestro_process = nullptr;
+ simix_global->maestro_ = nullptr;
SIMIX_context_mod_init();
// Either create a new context with maestro or create
#endif
/* Kill all processes (but maestro) */
- simix_global->maestro_process->kill_all();
+ simix_global->maestro_->kill_all();
simix_global->run_all_actors();
simix_global->empty_trash();
#endif
/* Let's free maestro now */
- delete simix_global->maestro_process;
- simix_global->maestro_process = nullptr;
+ delete simix_global->maestro_;
+ simix_global->maestro_ = nullptr;
/* Finish context module and SURF */
SIMIX_context_mod_exit();
if (simix_global->process_list.size() == simix_global->daemons.size())
for (auto const& dmon : simix_global->daemons) {
XBT_DEBUG("Kill %s", dmon->get_cname());
- simix_global->maestro_process->kill(dmon);
+ simix_global->maestro_->kill(dmon);
}
}
if (simix_global == nullptr) // SimDag
return true;
simgrid::kernel::actor::ActorImpl* self = SIMIX_process_self();
- return self == nullptr || self == simix_global->maestro_process;
+ return self == nullptr || self == simix_global->maestro_;
}
xbt_dynar_t actors_vector = xbt_dynar_new(sizeof(kernel::actor::ActorImpl*), nullptr);
xbt_dynar_t dead_actors_vector = xbt_dynar_new(sizeof(kernel::actor::ActorImpl*), nullptr);
#endif
- kernel::actor::ActorImpl* maestro_process = nullptr;
+ kernel::actor::ActorImpl* maestro_ = nullptr;
// Maps function names to actor code:
std::unordered_map<std::string, simix::ActorCodeFactory> registered_functions;