X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5dac84d65eed08644367fe040c41df162c02e5fa..3f9b311ec56db95ec539001a860ae3c838c48312:/teshsuite/s4u/actor-autorestart/actor-autorestart.cpp diff --git a/teshsuite/s4u/actor-autorestart/actor-autorestart.cpp b/teshsuite/s4u/actor-autorestart/actor-autorestart.cpp index 6a86b410b2..9fb89acfc7 100644 --- a/teshsuite/s4u/actor-autorestart/actor-autorestart.cpp +++ b/teshsuite/s4u/actor-autorestart/actor-autorestart.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2017-2021. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2017-2023. 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. */ @@ -10,13 +10,12 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(s4u_test, "Messages specific for this s4u example") static void dummy() { XBT_INFO("I start"); - simgrid::s4u::this_actor::sleep_for(200); - XBT_INFO("I stop"); + simgrid::s4u::this_actor::sleep_for(200); + XBT_INFO("I stop"); } static void dummy_daemon() { - simgrid::s4u::Actor::self()->daemonize(); while (simgrid::s4u::this_actor::get_host()->is_on()) { XBT_INFO("Hello from the infinite loop"); simgrid::s4u::this_actor::sleep_for(80.0); @@ -29,14 +28,14 @@ static void autostart() XBT_INFO("starting a dummy process on %s", host->get_cname()); simgrid::s4u::ActorPtr dummy_actor = simgrid::s4u::Actor::create("Dummy", host, dummy); - dummy_actor->on_exit([](bool) { XBT_INFO("On_exit callback set before autorestart"); }); + dummy_actor->on_exit([](bool failed) { XBT_INFO("Dummy actor %s.", failed ? "failed" : "terminating"); }); dummy_actor->set_auto_restart(true); dummy_actor->on_exit([](bool) { XBT_INFO("On_exit callback set after autorestart"); }); XBT_INFO("starting a daemon process on %s", host->get_cname()); simgrid::s4u::ActorPtr daemon_actor = simgrid::s4u::Actor::create("Daemon", host, dummy_daemon); - daemon_actor->on_exit([](bool) { XBT_INFO("On_exit callback set before autorestart"); }); - daemon_actor->set_auto_restart(true); + daemon_actor->on_exit([](bool failed) { XBT_INFO("Daemon actor %s.", failed ? "failed" : "terminating"); }); + daemon_actor->daemonize()->set_auto_restart(true); daemon_actor->on_exit([](bool) { XBT_INFO("On_exit callback set after autorestart"); }); simgrid::s4u::this_actor::sleep_for(50); @@ -56,7 +55,7 @@ int main(int argc, char* argv[]) simgrid::s4u::Engine e(&argc, argv); e.load_platform(argv[1]); - simgrid::s4u::Actor::create("Autostart", simgrid::s4u::Host::by_name("Tremblay"), autostart); + simgrid::s4u::Actor::create("Autostart", e.host_by_name("Tremblay"), autostart); e.run(); XBT_INFO("Simulation time %g", simgrid::s4u::Engine::get_clock());