From aadbd4bb58506669d52d3b33fde49ceea2e771fd Mon Sep 17 00:00:00 2001 From: thiery Date: Fri, 16 Jun 2006 14:01:46 +0000 Subject: [PATCH] Fix a memory leak. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@2385 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- src/simdag/private.h | 2 +- src/simdag/sd_workstation.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/simdag/private.h b/src/simdag/private.h index cd71a5aec0..c3d0f13338 100644 --- a/src/simdag/private.h +++ b/src/simdag/private.h @@ -34,6 +34,6 @@ SD_link_t __SD_link_create(const char *name, void *surf_link, void *data); void __SD_link_destroy(SD_link_t link); SD_workstation_t __SD_workstation_create(void *surf_workstation, void *data); -void __SD_workstation_destroy(SD_workstation_t workstation); +void __SD_workstation_destroy(void *workstation); #endif diff --git a/src/simdag/sd_workstation.c b/src/simdag/sd_workstation.c index f2c7afee09..5fec50326b 100644 --- a/src/simdag/sd_workstation.c +++ b/src/simdag/sd_workstation.c @@ -17,7 +17,7 @@ SD_workstation_t __SD_workstation_create(void *surf_workstation, void *data) { workstation->sd_data = sd_data; /* private data */ const char *name = SD_workstation_get_name(workstation); - xbt_dict_set(sd_global->workstations, name, workstation, free); /* add the workstation to the dictionary */ + xbt_dict_set(sd_global->workstations, name, workstation, __SD_workstation_destroy); /* add the workstation to the dictionary */ /* TODO: route */ return workstation; @@ -116,12 +116,12 @@ double SD_workstation_get_available_power(SD_workstation_t workstation) { /* Destroys a workstation. The user data (if any) should have been destroyed first. */ -void __SD_workstation_destroy(SD_workstation_t workstation) { +void __SD_workstation_destroy(void *workstation) { CHECK_INIT_DONE(); xbt_assert0(workstation != NULL, "Invalid parameter"); - if (workstation->sd_data != NULL) { - xbt_free(workstation->sd_data); + if (((SD_workstation_t) workstation)->sd_data != NULL) { + xbt_free(((SD_workstation_t) workstation)->sd_data); } /* TODO: route */ -- 2.20.1