Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
MSG_process_sleep should intercept HostFailureException and report it accordingly
[simgrid.git] / teshsuite / msg / host_on_off_processes / host_on_off_processes.cpp
index 122a39a..669bd11 100644 (file)
@@ -43,7 +43,11 @@ static int process_sleep(int /*argc*/, char** /*argv*/)
 {
   for (;;) {
     XBT_INFO("  I'm alive but I should sleep");
-    MSG_process_sleep(10);
+    int res = MSG_process_sleep(10);
+    if (res == MSG_HOST_FAILURE) {
+      XBT_INFO("Host as died as expected, do nothing else");
+      return 0;
+    }
   }
   XBT_INFO("  I'm done. See you!");
   return 0;
@@ -56,9 +60,8 @@ static int commTX(int /*argc*/, char** /*argv*/)
   msg_task_t task = MSG_task_create("COMM", 0, 100000000, NULL);
   MSG_task_dsend(task, mailbox, task_cleanup_handler);
   // 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 (simgrid::HostFailureException& e) {
+  int res = MSG_process_sleep(30);
+  if (res == MSG_HOST_FAILURE) {
     XBT_INFO("The host has died ... as expected.");
   }
   XBT_INFO("  TX done");