Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Use correct function to free element.
authornavarrop <navarrop@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Thu, 24 Mar 2011 10:36:01 +0000 (10:36 +0000)
committernavarrop <navarrop@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Thu, 24 Mar 2011 10:36:01 +0000 (10:36 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@9836 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/simdag/sd_global.c
src/simix/smx_global.c
src/surf/surf.c

index 465af87..8b941e6 100644 (file)
@@ -98,8 +98,8 @@ void SD_init(int *argc, char **argv)
 #endif
 
   XBT_DEBUG("ADD SD LEVELS");
-  SD_HOST_LEVEL = xbt_lib_add_level(host_lib,free);
-  SD_LINK_LEVEL = xbt_lib_add_level(link_lib,free);
+  SD_HOST_LEVEL = xbt_lib_add_level(host_lib,__SD_workstation_destroy);
+  SD_LINK_LEVEL = xbt_lib_add_level(link_lib,__SD_link_destroy);
 }
 
 /**
@@ -397,6 +397,7 @@ void SD_exit(void)
 #ifdef HAVE_TRACING
   TRACE_surf_release();
 #endif
+
   if (SD_INITIALISED()) {
     XBT_DEBUG("Destroying workstation and link dictionaries...");
 
@@ -438,6 +439,7 @@ void SD_exit(void)
 
     XBT_DEBUG("Exiting Surf...");
     surf_exit();
+
   } else {
     XBT_WARN("SD_exit() called, but SimDag is not running");
     /* we cannot use exceptions here because xbt is not running! */
index f3da01e..72ea2c7 100644 (file)
@@ -110,7 +110,7 @@ void SIMIX_global_init(int *argc, char **argv)
   }
 
   XBT_DEBUG("ADD SIMIX LEVELS");
-  SIMIX_HOST_LEVEL = xbt_lib_add_level(host_lib,free);
+  SIMIX_HOST_LEVEL = xbt_lib_add_level(host_lib,SIMIX_host_destroy);
 }
 
 /**
index de300f9..8b25bef 100644 (file)
@@ -290,17 +290,17 @@ void surf_init(int *argc, char **argv)
        as_router_lib = xbt_lib_new();
 
        XBT_DEBUG("ADD ROUTING LEVEL");
-       ROUTING_HOST_LEVEL = xbt_lib_add_level(host_lib,free);
-       ROUTING_ASR_LEVEL  = xbt_lib_add_level(as_router_lib,free);
+       ROUTING_HOST_LEVEL = xbt_lib_add_level(host_lib,xbt_free);
+       ROUTING_ASR_LEVEL  = xbt_lib_add_level(as_router_lib,xbt_free);
 
        XBT_DEBUG("ADD SURF LEVELS");
-       SURF_CPU_LEVEL = xbt_lib_add_level(host_lib,free);
-       SURF_WKS_LEVEL = xbt_lib_add_level(host_lib,free);
-       SURF_LINK_LEVEL = xbt_lib_add_level(link_lib,free);
+       SURF_CPU_LEVEL = xbt_lib_add_level(host_lib,surf_resource_free);
+       SURF_WKS_LEVEL = xbt_lib_add_level(host_lib,surf_resource_free);
+       SURF_LINK_LEVEL = xbt_lib_add_level(link_lib,surf_resource_free);
 
        XBT_DEBUG("ADD COORD LEVEL");
-       COORD_HOST_LEVEL = xbt_lib_add_level(host_lib,free);
-       COORD_ASR_LEVEL  = xbt_lib_add_level(as_router_lib,free);
+       COORD_HOST_LEVEL = xbt_lib_add_level(host_lib,xbt_dynar_free_voidp);
+       COORD_ASR_LEVEL  = xbt_lib_add_level(as_router_lib,xbt_dynar_free_voidp);
 
   /* Connect our log channels: that must be done manually under windows */
   XBT_LOG_CONNECT(surf_cpu, surf);