From d9eea870a2d5c7d2e906c8d0820d1aacabf60d5e Mon Sep 17 00:00:00 2001
From: Moe Jette <jette1@llnl.gov>
Date: Tue, 21 Nov 2006 23:49:00 +0000
Subject: [PATCH] Plug some memory leaks, mostly by unloading plugins.

---
 src/slurmd/slurmd/slurmd.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/src/slurmd/slurmd/slurmd.c b/src/slurmd/slurmd/slurmd.c
index c0904025797..6a558749c16 100644
--- a/src/slurmd/slurmd/slurmd.c
+++ b/src/slurmd/slurmd/slurmd.c
@@ -249,6 +249,8 @@ main (int argc, char *argv[])
 
 	_slurmd_fini();
 	_destroy_conf();
+	info("Slurmd shutdown completing");
+	log_fini();
        	return 0;
 }
 
@@ -972,13 +974,24 @@ cleanup:
 	return SLURM_SUCCESS;
 }
 
+/**************************************************************************\
+ * To test for memory leaks, set MEMORY_LEAK_DEBUG to 1 using
+ * "configure --enable-memory-leak-debug" then execute
+ * > valgrind --tool=memcheck --leak-check=yes --num-callers=6
+ *    --leak-resolution=med slurmd -D
+ *
+ * Then exercise the slurmd functionality before executing
+ * > scontrol shutdown
+\**************************************************************************/
 static int
 _slurmd_fini()
 {
 	save_cred_state(conf->vctx);
+	int slurm_proctrack_init();
+	switch_fini();
 	slurmd_task_fini(); 
 	slurm_conf_destroy();
-	
+	slurm_proctrack_fini();
 	return SLURM_SUCCESS;
 }
 
-- 
GitLab