- // TODO, when autorestart is used, the std::function is copied so the new
- // instance will get a fresh (reinitialized) state. Is this what we want?
- this->pimpl_ = simcall_process_create(
- name, std::move(code), nullptr, host->name().c_str(),
- killTime, nullptr, 0);
+ simgrid::simix::ActorCodeFactory& factory = SIMIX_get_actor_code_factory(function);
+ simgrid::simix::ActorCode code = factory(std::move(args));
+ smx_actor_t actor = simcall_process_create(name, std::move(code), nullptr, host, nullptr);
+ return actor->iface();