From: Arnaud Giersch Date: Tue, 3 Jul 2012 13:08:31 +0000 (+0200) Subject: Fix memory leak. X-Git-Tag: v3_8~361 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/16af0d72b0e253727842d8b4e3d3397b21cd8f73 Fix memory leak. 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. --- diff --git a/src/simix/smx_host.c b/src/simix/smx_host.c index a8a6d1b05a..a247d6096a 100644 --- a/src/simix/smx_host.c +++ b/src/simix/smx_host.c @@ -354,19 +354,14 @@ smx_action_t SIMIX_host_parallel_execute( const char *name, void SIMIX_host_execution_destroy(smx_action_t action) { - int destroyed=0; XBT_DEBUG("Destroy action %p", action); - 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; } - - 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)