X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6a8d5cf4199454b5f811043c207d195107743e72..2daf04fb944713dcd1bbf1070d11b9d7bb77c8d4:/examples/s4u/platform-failures/s4u-platform-failures.cpp diff --git a/examples/s4u/platform-failures/s4u-platform-failures.cpp b/examples/s4u/platform-failures/s4u-platform-failures.cpp index 941ea2aba8..df3b9fa42e 100644 --- a/examples/s4u/platform-failures/s4u-platform-failures.cpp +++ b/examples/s4u/platform-failures/s4u-platform-failures.cpp @@ -25,8 +25,9 @@ static int master(int argc, char* argv[]) mailbox = simgrid::s4u::Mailbox::by_name(std::string("worker-") + std::to_string(i % workers_count)); double* payload = new double(comp_size); try { + XBT_INFO("Send a message to %s", mailbox->get_cname()); mailbox->put(payload, comm_size, 10.0); - XBT_INFO("Send completed"); + XBT_INFO("Send to %s completed", mailbox->get_cname()); } catch (xbt_ex& e) { switch (e.category) { case host_error: @@ -84,13 +85,34 @@ static int worker(int argc, char* argv[]) double comp_size = -1; while (1) { try { + XBT_INFO("Waiting a message on %s", mailbox->get_cname()); payload = static_cast(mailbox->get()); comp_size = *payload; - delete payload; + xbt_assert(payload != nullptr, "mailbox->get() failed"); + if (comp_size < 0) { /* - Exit when -1.0 is received */ + XBT_INFO("I'm done. See you!"); + delete payload; + break; + } + /* - Otherwise, process the task */ + try { + XBT_INFO("Start execution..."); + simgrid::s4u::this_actor::execute(comp_size); + XBT_INFO("Execution complete."); + delete payload; + } catch (xbt_ex& e) { + if (e.category == host_error) { + XBT_INFO("Gloups. The cpu on which I'm running just turned off!. See you!"); + delete payload; + return -1; + } else + xbt_die("Unexpected behavior"); + } } catch (xbt_ex& e) { switch (e.category) { case host_error: XBT_INFO("Gloups. The cpu on which I'm running just turned off!. See you!"); + delete payload; return -1; case network_error: XBT_INFO("Mmh. Something went wrong. Nevermind. Let's keep going!"); @@ -99,23 +121,7 @@ static int worker(int argc, char* argv[]) xbt_die("Unexpected behavior"); } } - xbt_assert(payload != nullptr, "mailbox->get() failed"); - if (comp_size < 0) { /* - Exit when -1.0 is received */ - XBT_INFO("I'm done. See you!"); - break; - } - /* - Otherwise, process the task */ - try { - simgrid::s4u::this_actor::execute(comp_size); - } catch (xbt_ex& e) { - if (e.category == host_error) { - XBT_INFO("Gloups. The cpu on which I'm running just turned off!. See you!"); - return -1; - } else - xbt_die("Unexpected behavior"); - } } - XBT_INFO("I'm done. See you!"); return 0; }