Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Bug Fix. This function used to return the last task of the list when no matching...
authoralegrand <alegrand@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 2 Apr 2008 16:32:16 +0000 (16:32 +0000)
committeralegrand <alegrand@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 2 Apr 2008 16:32:16 +0000 (16:32 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@5323 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/msg/msg_mailbox.c

index aadc18f..8b29ed1 100644 (file)
@@ -102,22 +102,20 @@ MSG_mailbox_get_head(msg_mailbox_t mailbox)
        return (m_task_t)xbt_fifo_get_item_content(item);\r
 }\r
 \r
        return (m_task_t)xbt_fifo_get_item_content(item);\r
 }\r
 \r
+\r
 m_task_t\r
 MSG_mailbox_get_first_host_task(msg_mailbox_t mailbox, m_host_t host)\r
 {\r
 m_task_t\r
 MSG_mailbox_get_first_host_task(msg_mailbox_t mailbox, m_host_t host)\r
 {\r
-       m_task_t task = NULL;\r
-       xbt_fifo_item_t item = NULL;\r
-       \r
-       xbt_fifo_foreach(mailbox->tasks, item, task, m_task_t) \r
-       {\r
-               if (task->simdata->source == host)\r
-                       break;\r
-       }\r
-       \r
-       if(item) \r
-               xbt_fifo_remove_item(mailbox->tasks, item);\r
-               \r
-       return task;\r
+ m_task_t task = NULL;\r
+ xbt_fifo_item_t item = NULL;\r
+\r
+ xbt_fifo_foreach(mailbox->tasks, item, task, m_task_t)\r
+   if (task->simdata->source == host) {\r
+     xbt_fifo_remove_item(mailbox->tasks, item);\r
+     return task;\r
+   }\r
+\r
+ return NULL;\r
 }\r
 \r
 int\r
 }\r
 \r
 int\r