Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Bug fix: timeout is a delay, not an absolute time
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 16 Sep 2009 20:38:00 +0000 (20:38 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 16 Sep 2009 20:38:00 +0000 (20:38 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@6665 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/msg/msg_mailbox.c

index 3e26bd5..b6aa08e 100644 (file)
@@ -217,9 +217,9 @@ MSG_mailbox_get_task_ext(msg_mailbox_t mailbox, m_task_t * task,
     }
 
     if (timeout > 0)
     }
 
     if (timeout > 0)
-      SIMIX_cond_wait_timeout(cond, h_simdata->mutex, timeout - start_time);
+      SIMIX_cond_wait_timeout(cond, h_simdata->mutex, timeout - start_time + SIMIX_get_clock());
     else
     else
-      SIMIX_cond_wait(MSG_mailbox_get_cond(mailbox), h_simdata->mutex);
+      SIMIX_cond_wait(cond, h_simdata->mutex);
 
     if (SIMIX_host_get_state(h_simdata->smx_host) == 0) {
       SIMIX_mutex_unlock(h_simdata->mutex);
 
     if (SIMIX_host_get_state(h_simdata->smx_host) == 0) {
       SIMIX_mutex_unlock(h_simdata->mutex);