[mpich2-commits] r5459 - mpich2/trunk/src/pm/hydra/pm/pmiserv
balaji at mcs.anl.gov
balaji at mcs.anl.gov
Wed Oct 14 06:36:03 CDT 2009
Author: balaji
Date: 2009-10-14 06:36:03 -0500 (Wed, 14 Oct 2009)
New Revision: 5459
Modified:
mpich2/trunk/src/pm/hydra/pm/pmiserv/pmi_handle.c
mpich2/trunk/src/pm/hydra/pm/pmiserv/pmi_handle_v1.c
Log:
Fix some memory leaks.
Modified: mpich2/trunk/src/pm/hydra/pm/pmiserv/pmi_handle.c
===================================================================
--- mpich2/trunk/src/pm/hydra/pm/pmiserv/pmi_handle.c 2009-10-14 11:36:00 UTC (rev 5458)
+++ mpich2/trunk/src/pm/hydra/pm/pmiserv/pmi_handle.c 2009-10-14 11:36:03 UTC (rev 5459)
@@ -225,8 +225,8 @@
char *tmp[HYD_NUM_TMP_STRINGS];
struct HYD_Proxy *proxy;
struct HYD_Proxy_segment *segment;
- struct segment *seglist_head, *seglist_tail = NULL, *seg;
- struct block *blocklist_head, *blocklist_tail = NULL, *block;
+ struct segment *seglist_head, *seglist_tail = NULL, *seg, *nseg;
+ struct block *blocklist_head, *blocklist_tail = NULL, *block, *nblock;
int done;
HYD_Status status = HYD_SUCCESS;
@@ -331,6 +331,15 @@
HYDU_ERR_SETANDJUMP(status, HYD_INTERNAL_ERROR, "unrecognized process mapping\n");
}
+ for (seg = seglist_head; seg; seg = nseg) {
+ nseg = seg->next;
+ HYDU_FREE(seg);
+ }
+ for (block = blocklist_head; block; block = nblock) {
+ nblock = block->next;
+ HYDU_FREE(block);
+ }
+
fn_exit:
HYDU_FUNC_EXIT();
return status;
Modified: mpich2/trunk/src/pm/hydra/pm/pmiserv/pmi_handle_v1.c
===================================================================
--- mpich2/trunk/src/pm/hydra/pm/pmiserv/pmi_handle_v1.c 2009-10-14 11:36:00 UTC (rev 5458)
+++ mpich2/trunk/src/pm/hydra/pm/pmiserv/pmi_handle_v1.c 2009-10-14 11:36:03 UTC (rev 5459)
@@ -343,6 +343,8 @@
status = HYD_PMCD_pmi_add_kvs("process-mapping", node_list,
process->node->pg->kvs, &ret);
HYDU_ERR_POP(status, "unable to add process_mapping to KVS\n");
+
+ HYDU_FREE(node_list);
}
/* Search for the key again */
More information about the mpich2-commits
mailing list