// ***** Actor creation *****
ActorPtr Actor::self()
{
- smx_context_t self_context = SIMIX_context_self();
+ smx_context_t self_context = simgrid::kernel::context::Context::self();
if (self_context == nullptr)
return simgrid::s4u::ActorPtr();
ActorPtr Actor::create(std::string name, s4u::Host* host, std::string function, std::vector<std::string> args)
{
simgrid::simix::ActorCodeFactory& factory = SIMIX_get_actor_code_factory(function);
- simgrid::simix::ActorCode code = factory(std::move(args));
- simgrid::kernel::actor::ActorImpl* actor = simcall_process_create(name, std::move(code), nullptr, host, nullptr);
- return actor->iface();
+ return create(name, host, factory(std::move(args)));
}
void intrusive_ptr_add_ref(Actor* actor)