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 fb7751d..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,15 +60,9 @@ 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 (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;
-    }
+  int res = MSG_process_sleep(30);
+  if (res == MSG_HOST_FAILURE) {
+    XBT_INFO("The host has died ... as expected.");
   }
   XBT_INFO("  TX done");
   return 0;