From 1aa6ab8ad6fc7929a1b2102f1e753338c4fb0b20 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Sat, 25 Aug 2018 15:57:02 +0200 Subject: [PATCH 1/1] convert some catch locations to simgrid::HostFailureException --- .../s4u-platform-failures.cpp | 25 ++++++++----------- .../host_on_off_processes.cpp | 9 ++----- .../s4u/host_on_off_wait/host_on_off_wait.cpp | 9 ++----- 3 files changed, 15 insertions(+), 28 deletions(-) diff --git a/examples/s4u/platform-failures/s4u-platform-failures.cpp b/examples/s4u/platform-failures/s4u-platform-failures.cpp index 22c4d24280..5f7d63f6a3 100644 --- a/examples/s4u/platform-failures/s4u-platform-failures.cpp +++ b/examples/s4u/platform-failures/s4u-platform-failures.cpp @@ -27,12 +27,11 @@ static int master(int argc, char* argv[]) XBT_INFO("Send a message to %s", mailbox->get_cname()); mailbox->put(payload, comm_size, 10.0); XBT_INFO("Send to %s completed", mailbox->get_cname()); + } catch (simgrid::HostFailureException& e) { + XBT_INFO("Gloups. The cpu on which I'm running just turned off!. See you!"); + return -1; } 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!"); - return -1; - break; case network_error: XBT_INFO("Mmh. Something went wrong with '%s'. Nevermind. Let's keep going!", mailbox->get_cname()); break; @@ -53,12 +52,13 @@ static int master(int argc, char* argv[]) double* payload = new double(-1.0); try { mailbox->put(payload, 0, 1.0); + } catch (simgrid::HostFailureException& e) { + delete payload; + XBT_INFO("Gloups. The cpu on which I'm running just turned off!. See you!"); + return -1; } catch (xbt_ex& e) { delete payload; switch (e.category) { - case host_error: - XBT_INFO("Gloups. The cpu on which I'm running just turned off!. See you!"); - break; case network_error: XBT_INFO("Mmh. Something went wrong with '%s'. Nevermind. Let's keep going!", mailbox->get_cname()); break; @@ -99,13 +99,10 @@ static int worker(int argc, char* argv[]) 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 (simgrid::HostFailureException& e) { + delete payload; + XBT_INFO("Gloups. The cpu on which I'm running just turned off!. See you!"); + return -1; } } catch (xbt_ex& e) { switch (e.category) { diff --git a/teshsuite/msg/host_on_off_processes/host_on_off_processes.cpp b/teshsuite/msg/host_on_off_processes/host_on_off_processes.cpp index fb7751daa2..122a39a046 100644 --- a/teshsuite/msg/host_on_off_processes/host_on_off_processes.cpp +++ b/teshsuite/msg/host_on_off_processes/host_on_off_processes.cpp @@ -58,13 +58,8 @@ static int commTX(int /*argc*/, char** /*argv*/) // We should wait a bit (if not the process will end before the communication, hence an exception on the other side). try { MSG_process_sleep(30); - } catch (xbt_ex& e) { - if (e.category == host_error) { - XBT_INFO("The host has died ... as expected."); - } else { - XBT_ERROR("An unexpected exception has been raised."); - throw; - } + } catch (simgrid::HostFailureException& e) { + XBT_INFO("The host has died ... as expected."); } XBT_INFO(" TX done"); return 0; diff --git a/teshsuite/s4u/host_on_off_wait/host_on_off_wait.cpp b/teshsuite/s4u/host_on_off_wait/host_on_off_wait.cpp index 45ed6d3fcc..e8617e07e7 100644 --- a/teshsuite/s4u/host_on_off_wait/host_on_off_wait.cpp +++ b/teshsuite/s4u/host_on_off_wait/host_on_off_wait.cpp @@ -23,13 +23,8 @@ static void worker() XBT_INFO("Worker waiting"); try { simgrid::s4u::this_actor::sleep_for(5); - } catch (xbt_ex& e) { - if (e.category == host_error) { - XBT_INFO("The host has died ... as expected."); - } else { - XBT_ERROR("An unexpected exception has been raised."); - throw; - } + } catch (simgrid::HostFailureException& e) { + XBT_INFO("The host has died ... as expected."); } } -- 2.20.1