Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
leak plugs
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 14 Nov 2006 18:30:29 +0000 (18:30 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 14 Nov 2006 18:30:29 +0000 (18:30 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@2929 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/amok/PeerManagement/peermanagement.c

index 565586a..8dc2e7a 100644 (file)
@@ -232,6 +232,8 @@ static void _amok_pm_init(void) {
 static void _amok_pm_join(void *p) {
    /* moddata management */
    amok_pm_moddata_t mod = (amok_pm_moddata_t)p;
 static void _amok_pm_join(void *p) {
    /* moddata management */
    amok_pm_moddata_t mod = (amok_pm_moddata_t)p;
+
+   mod->groups = NULL;
    
    mod->done = 0;
    mod->groups = xbt_dict_new();
    
    mod->done = 0;
    mod->groups = xbt_dict_new();
@@ -252,13 +254,14 @@ static void _amok_pm_join(void *p) {
                   &amok_pm_cb_shutdown);   
 }
 static void _amok_pm_exit(void) {
                   &amok_pm_cb_shutdown);   
 }
 static void _amok_pm_exit(void) {
-   /* no world-wide globals */
+  /* no world-wide globals */
 }
 static void _amok_pm_leave(void *p) {
    /* moddata */
    amok_pm_moddata_t mod = (amok_pm_moddata_t)p;
    
 }
 static void _amok_pm_leave(void *p) {
    /* moddata */
    amok_pm_moddata_t mod = (amok_pm_moddata_t)p;
    
-   xbt_dict_free(&mod->groups);
+   if (mod->groups)
+     xbt_dict_free(&mod->groups);
    
    /* callbacks */
    gras_cb_unregister(gras_msgtype_by_name("amok_pm_kill"),
    
    /* callbacks */
    gras_cb_unregister(gras_msgtype_by_name("amok_pm_kill"),