From d365d95c7f9085699c2f4147bc0601959bde7e7a Mon Sep 17 00:00:00 2001 From: Moe Jette <jette1@llnl.gov> Date: Mon, 14 Jul 2003 23:00:03 +0000 Subject: [PATCH] Optimize some memory management and eliminate a couple of memory leaks (at shutdown only). --- src/slurmctld/controller.c | 8 +++++++- src/slurmctld/node_mgr.c | 4 ++-- src/slurmctld/node_scheduler.c | 4 ---- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/slurmctld/controller.c b/src/slurmctld/controller.c index 65b23b72eee..3f70a1d6271 100644 --- a/src/slurmctld/controller.c +++ b/src/slurmctld/controller.c @@ -313,6 +313,12 @@ int main(int argc, char *argv[]) break; } + /* NOTE: We don't wait for the agent to complete or clear + * free data structures by default */ +#if MEM_LEAK_TEST + log_fini(); + xfree(slurmctld_conf.slurm_conf); +#endif return SLURM_SUCCESS; } @@ -615,7 +621,7 @@ static void *_slurmctld_background(void *no_data) #if MEM_LEAK_TEST /* This should purge all allocated memory, *\ - \* Anything left over represents a leak. */ + \* Anything left over represents a leak. */ if (job_list) list_destroy(job_list); diff --git a/src/slurmctld/node_mgr.c b/src/slurmctld/node_mgr.c index 84cfe1aaed5..b54fbae47eb 100644 --- a/src/slurmctld/node_mgr.c +++ b/src/slurmctld/node_mgr.c @@ -821,8 +821,8 @@ void rehash_node (void) { int i, inx; - xrealloc (hash_table, (sizeof (int) * node_record_count)); - memset (hash_table, 0, (sizeof (int) * node_record_count)); + xfree (hash_table); + hash_table = xmalloc (sizeof (int) * node_record_count); for (i = 0; i < node_record_count; i++) { if (strlen (node_record_table_ptr[i].name) == 0) diff --git a/src/slurmctld/node_scheduler.c b/src/slurmctld/node_scheduler.c index 014d4acfca0..517dacbb50a 100644 --- a/src/slurmctld/node_scheduler.c +++ b/src/slurmctld/node_scheduler.c @@ -1042,10 +1042,6 @@ void build_node_details(struct job_record *job_ptr) job_ptr->node_cnt = node_inx; } job_ptr->num_cpu_groups = cpu_inx + 1; - xrealloc(job_ptr->cpus_per_node, - sizeof(uint32_t *) * job_ptr->num_cpu_groups); - xrealloc(job_ptr->cpu_count_reps, - sizeof(uint32_t *) * job_ptr->num_cpu_groups); } /* -- GitLab