From d462e3248fcdeb6f53c4978357086893b46cdaf6 Mon Sep 17 00:00:00 2001 From: Danny Auble <da@llnl.gov> Date: Fri, 13 Nov 2009 00:01:03 +0000 Subject: [PATCH] fixed memory leak with slurmd for starting and prolog running jobs --- src/slurmd/slurmd/req.c | 7 +++++++ src/slurmd/slurmd/req.h | 2 ++ src/slurmd/slurmd/slurmd.c | 4 ++-- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/slurmd/slurmd/req.c b/src/slurmd/slurmd/req.c index ec3f2c48378..1d91494bff2 100644 --- a/src/slurmd/slurmd/req.c +++ b/src/slurmd/slurmd/req.c @@ -3504,6 +3504,13 @@ _getgroups(void) return _alloc_gids(n, gg); } +extern void +destroy_starting_step(void *x) +{ + xfree(x); +} + + extern void init_gids_cache(int cache) diff --git a/src/slurmd/slurmd/req.h b/src/slurmd/slurmd/req.h index 7f9ef1884fb..1723769c3e5 100644 --- a/src/slurmd/slurmd/req.h +++ b/src/slurmd/slurmd/req.h @@ -48,6 +48,8 @@ */ void slurmd_req(slurm_msg_t *msg); +void destroy_starting_step(void *x); + int init_gids_cache(int cache); #endif diff --git a/src/slurmd/slurmd/slurmd.c b/src/slurmd/slurmd/slurmd.c index 2b8516fdf99..e8de9408c4b 100644 --- a/src/slurmd/slurmd/slurmd.c +++ b/src/slurmd/slurmd/slurmd.c @@ -932,10 +932,10 @@ _init_conf(void) slurm_mutex_init(&conf->config_mutex); - conf->starting_steps = list_create(NULL); + conf->starting_steps = list_create(destroy_starting_step); slurm_mutex_init(&conf->starting_steps_lock); pthread_cond_init(&conf->starting_steps_cond, NULL); - conf->prolog_running_jobs = list_create(NULL); + conf->prolog_running_jobs = list_create(slurm_destroy_uint32_ptr); slurm_mutex_init(&conf->prolog_running_lock); pthread_cond_init(&conf->prolog_running_cond, NULL); return; -- GitLab