-/* Copyright (c) 2007-2018. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2007-2019. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_process, simix, "Logging specific to SIMIX (process)");
-unsigned long simix_process_maxpid = 0;
+static unsigned long simix_process_maxpid = 0;
/**
* @brief Returns the current agent.
{
smx_context_t self_context = simgrid::kernel::context::Context::self();
- return (self_context != nullptr) ? self_context->process() : nullptr;
+ return (self_context != nullptr) ? self_context->get_actor() : nullptr;
}
/**
if (not code) {
maestro->context_ = SIMIX_context_new(simgrid::simix::ActorCode(), nullptr, maestro);
} else {
- if (not simix_global)
- xbt_die("simix is not initialized, please call MSG_init first");
maestro->context_ = simix_global->context_factory->create_maestro(code, maestro);
}
simix_global->process_to_run.push_back(process);
intrusive_ptr_add_ref(process);
- /* The onCreation() signal must be delayed until there, where the pid and everything is set */
- simgrid::s4u::ActorPtr tmp = process->iface(); // Passing this directly to onCreation will lead to crashes
- simgrid::s4u::Actor::on_creation(tmp);
+ /* The on_creation() signal must be delayed until there, where the pid and everything is set */
+ simgrid::s4u::Actor::on_creation(process->iface());
return process;
}
if (context == nullptr)
xbt_die("Not a suitable context");
- SIMIX_process_cleanup(context->process());
+ SIMIX_process_cleanup(context->get_actor());
context->attach_stop();
}
return;
}
- XBT_DEBUG("Actor '%s'@%s is killing actor '%s'@%s", issuer->get_cname(),
- (issuer->host_ == nullptr ? "(null)" : issuer->host_->get_cname()), actor->get_cname(),
+ XBT_DEBUG("Actor '%s'@%s is killing actor '%s'@%s", issuer == nullptr ? "(null)" : issuer->get_cname(),
+ (issuer == nullptr || issuer->host_ == nullptr ? "(null)" : issuer->host_->get_cname()), actor->get_cname(),
actor->host_->get_cname());
actor->context_->iwannadie = true;