Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Don't let exceptions pass through the MSG layer.
[simgrid.git] / src / msg / msg_mailbox.c
index 8461bf9..1abbf0e 100644 (file)
@@ -41,8 +41,7 @@ int
 MSG_mailbox_get_count_host_waiting_tasks(msg_mailbox_t mailbox,
                                          msg_host_t host)
 {
-  return simcall_rdv_comm_count_by_host(mailbox,
-                                      host->smx_host);
+  return simcall_rdv_comm_count_by_host(mailbox, host);
 }
 
 msg_mailbox_t MSG_mailbox_get_by_alias(const char *alias)
@@ -99,7 +98,7 @@ MSG_mailbox_get_task_ext(msg_mailbox_t mailbox, msg_task_t * task,
 
 #ifdef HAVE_TRACING
   TRACE_msg_task_get_start();
-  volatile double start_time = MSG_get_clock();
+  double start_time = MSG_get_clock();
 #endif
 
   /* Sanity check */
@@ -117,6 +116,9 @@ MSG_mailbox_get_task_ext(msg_mailbox_t mailbox, msg_task_t * task,
   }
   CATCH(e) {
     switch (e.category) {
+    case cancel_error:
+      ret = MSG_HOST_FAILURE;
+      break;
     case network_error:
       ret = MSG_TRANSFER_FAILURE;
       break;
@@ -184,6 +186,9 @@ MSG_mailbox_put_with_timeout(msg_mailbox_t mailbox, msg_task_t task,
 
   CATCH(e) {
     switch (e.category) {
+    case cancel_error:
+      ret = MSG_HOST_FAILURE;
+      break;
     case network_error:
       ret = MSG_TRANSFER_FAILURE;
       break;