From: Frederic Suter Date: Wed, 15 Aug 2018 00:43:37 +0000 (+0200) Subject: auto-restart daemons as daemons (untested) X-Git-Tag: v3_21~247 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/44308b13ee71379511af1c34273cd96937c51ce5 auto-restart daemons as daemons (untested) --- diff --git a/src/simix/ActorImpl.hpp b/src/simix/ActorImpl.hpp index 5c1bfcaaef..fda93c28bf 100644 --- a/src/simix/ActorImpl.hpp +++ b/src/simix/ActorImpl.hpp @@ -112,6 +112,7 @@ public: double kill_time = 0.0; std::shared_ptr> properties = nullptr; bool auto_restart = false; + bool daemon_ = false; ProcessArg() = default; explicit ProcessArg(std::string name, std::function code, void* data, s4u::Host* host, double kill_time, @@ -133,6 +134,7 @@ public: , host(host) , kill_time(SIMIX_timer_get_date(actor->kill_timer)) , auto_restart(actor->auto_restart_) + , daemon_(actor->is_daemon()) { properties.reset(actor->get_properties(), [](decltype(actor->get_properties())) {}); } diff --git a/src/surf/HostImpl.cpp b/src/surf/HostImpl.cpp index 8fa93261b5..26acaddfa1 100644 --- a/src/surf/HostImpl.cpp +++ b/src/surf/HostImpl.cpp @@ -132,10 +132,11 @@ void HostImpl::turn_on() arg->properties.get(), nullptr); if (arg->kill_time >= 0) simcall_process_set_kill_time(actor, arg->kill_time); - if (arg->auto_restart) - actor->auto_restart_ = arg->auto_restart; + if (arg->daemon_) + actor->daemonize(); } } + /** Kill all actors hosted here */ void HostImpl::turn_off() {