From 7791a0238fba7f878c3654916c6c8a21a108c78b Mon Sep 17 00:00:00 2001 From: Moe Jette <jette1@llnl.gov> Date: Tue, 10 Feb 2009 23:15:22 +0000 Subject: [PATCH] Plug (one-time) memory leak at shutdown --- src/slurmctld/controller.c | 2 ++ src/slurmctld/reservation.c | 9 +++++++++ src/slurmctld/reservation.h | 3 +++ 3 files changed, 14 insertions(+) diff --git a/src/slurmctld/controller.c b/src/slurmctld/controller.c index 49bbc99707b..e157f73f2a9 100644 --- a/src/slurmctld/controller.c +++ b/src/slurmctld/controller.c @@ -88,6 +88,7 @@ #include "src/slurmctld/ping_nodes.h" #include "src/slurmctld/proc_req.h" #include "src/slurmctld/read_config.h" +#include "src/slurmctld/reservation.h" #include "src/slurmctld/slurmctld.h" #include "src/slurmctld/sched_plugin.h" #include "src/slurmctld/srun_comm.h" @@ -569,6 +570,7 @@ int main(int argc, char *argv[]) job_fini(); part_fini(); /* part_fini() must preceed node_fini() */ node_fini(); + resv_fini(); trigger_fini(); assoc_mgr_fini(slurmctld_conf.state_save_location); diff --git a/src/slurmctld/reservation.c b/src/slurmctld/reservation.c index df0656039e9..5b355f696fd 100644 --- a/src/slurmctld/reservation.c +++ b/src/slurmctld/reservation.c @@ -1181,6 +1181,15 @@ extern int create_resv(reserve_request_msg_t *resv_desc_ptr) return rc; } +/* Purge all reservation data structures */ +extern void resv_fini(void) +{ + if (resv_list) { + list_destroy(resv_list); + resv_list = (List) NULL; + } +} + /* Update an exiting resource reservation */ extern int update_resv(reserve_request_msg_t *resv_desc_ptr) { diff --git a/src/slurmctld/reservation.h b/src/slurmctld/reservation.h index 9099f0d502f..9122dad7648 100644 --- a/src/slurmctld/reservation.h +++ b/src/slurmctld/reservation.h @@ -61,6 +61,9 @@ extern void show_resv(char **buffer_ptr, int *buffer_size, uid_t uid); /* Save the state of all reservations to file */ extern int dump_all_resv_state(void); +/* Purge all reservation data structures */ +extern void resv_fini(void); + /* * Load the reservation state from file, recover on slurmctld restart. * Reset reservation pointers for all jobs. -- GitLab