Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Now for null communications MSG_get_task_remaining returns ZERO.
authorvelho <velho@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Thu, 18 Nov 2010 17:13:11 +0000 (17:13 +0000)
committervelho <velho@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Thu, 18 Nov 2010 17:13:11 +0000 (17:13 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@8580 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/msg/task.c

index 38a1b8f..1688629 100644 (file)
@@ -266,14 +266,24 @@ double MSG_task_get_remaining_computation(m_task_t task)
 
 /** \ingroup m_task_management
  * \brief Returns the total amount received by a task #m_task_t.
 
 /** \ingroup m_task_management
  * \brief Returns the total amount received by a task #m_task_t.
- *
+ *        If the communication does not exist it will return 0.
+ *        So, if the communication has FINISHED or FAILED it returns
+ *        zero.
  */
 double MSG_task_get_remaining_communication(m_task_t task)
 {
   xbt_assert0((task != NULL)
               && (task->simdata != NULL), "Invalid parameter");
  */
 double MSG_task_get_remaining_communication(m_task_t task)
 {
   xbt_assert0((task != NULL)
               && (task->simdata != NULL), "Invalid parameter");
-  DEBUG1("calling SIMIX_communication_get_remains(%p)",
-         task->simdata->comm);
+
+  if(!task->simdata->comm){
+         DEBUG1("you are trying to retrive remaining information on a NULL action, assuming it is zero",
+                                 0);
+         return 0;
+  }else{
+         DEBUG1("calling SIMIX_communication_get_remains(%p)",
+                         task->simdata->comm);
+  }
+
   return SIMIX_communication_get_remains(task->simdata->comm);
 }
 
   return SIMIX_communication_get_remains(task->simdata->comm);
 }