+ActorImplPtr ActorImpl::create(ProcessArg* args)
+{
+ actor::ActorImplPtr actor = actor::ActorImpl::create(args->name, args->code, nullptr, args->host, nullptr);
+ auto* naked_actor = actor.get();
+ naked_actor->restart_count_ = args->restart_count_;
+ actor->set_properties(args->properties);
+ if (args->on_exit)
+ *actor->on_exit = *args->on_exit;
+ if (args->kill_time >= 0)
+ actor->set_kill_time(args->kill_time);
+ if (args->auto_restart)
+ actor->set_auto_restart(args->auto_restart);
+ if (args->daemon_)
+ actor->daemonize();
+ return actor;
+}