Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix memory leak.
authorArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
Tue, 3 Jul 2012 13:08:31 +0000 (15:08 +0200)
committerArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
Tue, 3 Jul 2012 21:53:16 +0000 (23:53 +0200)
SIMIX_host_execution_destroy() was modified along to SIMIX_host_execution_cancel()
by commit c4d5e0512df1e2b3e83d57fbb17e225e286ef4ca (avoid double free issues
when on host failure+process run).

These changes lead to memory leaks (action are not destroyed anymore).

Since SIMIX_host_execution_cancel was later modified, revert the changes
from commit c4d5e05.

src/simix/smx_host.c

index a8a6d1b..a247d60 100644 (file)
@@ -354,19 +354,14 @@ smx_action_t SIMIX_host_parallel_execute( const char *name,
 
 void SIMIX_host_execution_destroy(smx_action_t action)
 {
 
 void SIMIX_host_execution_destroy(smx_action_t action)
 {
-  int destroyed=0;
   XBT_DEBUG("Destroy action %p", action);
 
   XBT_DEBUG("Destroy action %p", action);
 
-
   if (action->execution.surf_exec) {
   if (action->execution.surf_exec) {
-    destroyed = surf_workstation_model->action_unref(action->execution.surf_exec);
+    surf_workstation_model->action_unref(action->execution.surf_exec);
     action->execution.surf_exec = NULL;
   }
     action->execution.surf_exec = NULL;
   }
-
-  if (destroyed) {
-    xbt_free(action->name);
-    xbt_mallocator_release(simix_global->action_mallocator, action);
-  }
+  xbt_free(action->name);
+  xbt_mallocator_release(simix_global->action_mallocator, action);
 }
 
 void SIMIX_host_execution_cancel(smx_action_t action)
 }
 
 void SIMIX_host_execution_cancel(smx_action_t action)