From c6102a473100f43b1fcd789bbe48bae8655f130d Mon Sep 17 00:00:00 2001 From: Moe Jette <jette1@llnl.gov> Date: Mon, 23 Feb 2009 22:08:31 +0000 Subject: [PATCH] plug a couple of memory leaks related to reserved ports --- src/slurmctld/port_mgr.c | 6 +++++- src/slurmctld/step_mgr.c | 5 +++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/slurmctld/port_mgr.c b/src/slurmctld/port_mgr.c index d3ab1f22081..cb228ebfe83 100644 --- a/src/slurmctld/port_mgr.c +++ b/src/slurmctld/port_mgr.c @@ -168,6 +168,8 @@ extern int reserve_port_config(char *mpi_params) if (tmp_p == NULL) { if (port_resv_table) { info("Clearing port reservations"); + for (i=0; i<port_resv_cnt; i++) + bit_free(port_resv_table[i]); xfree(port_resv_table); port_resv_cnt = 0; port_resv_min = port_resv_max = 0; @@ -188,8 +190,10 @@ extern int reserve_port_config(char *mpi_params) return SLURM_ERROR; } - if ((p_min == port_resv_min) && (p_max == port_resv_max)) + if ((p_min == port_resv_min) && (p_max == port_resv_max)) { + _dump_resv_port_info(); return SLURM_SUCCESS; /* No change */ + } port_resv_min = p_min; port_resv_max = p_max; diff --git a/src/slurmctld/step_mgr.c b/src/slurmctld/step_mgr.c index d36d5fb8750..9ea9b6d2643 100644 --- a/src/slurmctld/step_mgr.c +++ b/src/slurmctld/step_mgr.c @@ -1333,6 +1333,7 @@ step_create(job_step_create_request_msg_t *step_specs, (uint16_t)cpus_per_task, step_specs->task_dist, step_specs->plane_size); + xfree(step_node_list); if (!step_ptr->step_layout) { delete_step_record (job_ptr, step_ptr->step_id); return SLURM_ERROR; @@ -1369,10 +1370,10 @@ step_create(job_step_create_request_msg_t *step_specs, return ESLURM_INTERCONNECT_FAILURE; } step_alloc_lps(step_ptr); - } + } else + xfree(step_node_list); if (checkpoint_alloc_jobinfo (&step_ptr->check_job) < 0) fatal ("step_create: checkpoint_alloc_jobinfo error"); - xfree(step_node_list); *new_step_record = step_ptr; jobacct_storage_g_step_start(acct_db_conn, step_ptr); return SLURM_SUCCESS; -- GitLab