Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix invalid memory references in SIMIX network.
authorcristianrosa <cristianrosa@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 14 Oct 2009 08:50:58 +0000 (08:50 +0000)
committercristianrosa <cristianrosa@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 14 Oct 2009 08:50:58 +0000 (08:50 +0000)
Fix compilation issues in SimDag on 64bit platforms

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@6761 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/simdag/sd_task.c
src/simix/smx_network.c

index 64870f9..57a11a3 100644 (file)
@@ -324,7 +324,7 @@ void SD_task_dump(SD_task_t task)
 void SD_task_dotty(SD_task_t task,void* out) {
   unsigned int counter;
   SD_dependency_t dependency;
-  fprintf(out, "  T%d [label=\"%.20s\"",(unsigned int)task,task->name);
+  fprintf(out, "  T%p [label=\"%.20s\"",task, task->name);
   switch(task->kind){
     case SD_TASK_COMM_E2E:
       fprintf(out,", shape=box");
@@ -335,7 +335,7 @@ void SD_task_dotty(SD_task_t task,void* out) {
   }
   fprintf(out,"];\n");
   xbt_dynar_foreach(task->tasks_before,counter,dependency) {
-    fprintf(out," T%d -> T%d;\n",(unsigned int)dependency->src,(unsigned int)dependency->dst);
+    fprintf(out," T%p -> T%p;\n",dependency->src, dependency->dst);
   }
 }
 
index cdab3e1..f33b818 100644 (file)
@@ -251,7 +251,8 @@ static inline void SIMIX_communication_wait_for_completion(smx_comm_t comm, doub
   
   /* Check for errors other than timeouts (they are catched above) */
   if(!SIMIX_host_get_state(SIMIX_host_self())){
-    SIMIX_rdv_remove(comm->rdv, comm);
+    if(comm->rdv)
+      SIMIX_rdv_remove(comm->rdv, comm);
     SIMIX_communication_destroy(comm);
     THROW0(host_error, 0, "Host failed");
   } else if (SIMIX_action_get_state(comm->act) == SURF_ACTION_FAILED){