Skip to content
Snippets Groups Projects
Commit b1b15ccd authored by Moe Jette's avatar Moe Jette
Browse files

Call free_slurm_conf() and slurm_auth_fini() at termination to free all

memory. Minor code restructuring (moved setrlimit into _init_config()
function from main).
parent c6b27afc
No related branches found
No related tags found
No related merge requests found
...@@ -109,7 +109,6 @@ int main(int argc, char *argv[]) ...@@ -109,7 +109,6 @@ int main(int argc, char *argv[])
char node_name[MAX_NAME_LEN]; char node_name[MAX_NAME_LEN];
pthread_attr_t thread_attr_sig, thread_attr_rpc; pthread_attr_t thread_attr_sig, thread_attr_rpc;
sigset_t set; sigset_t set;
struct rlimit rlim;
/* /*
* Establish initial configuration * Establish initial configuration
...@@ -120,15 +119,6 @@ int main(int argc, char *argv[]) ...@@ -120,15 +119,6 @@ int main(int argc, char *argv[])
_parse_commandline(argc, argv, &slurmctld_conf); _parse_commandline(argc, argv, &slurmctld_conf);
init_locks(); init_locks();
if (getrlimit(RLIMIT_NOFILE, &rlim) == 0) {
rlim.rlim_cur = rlim.rlim_max;
setrlimit(RLIMIT_NOFILE, &rlim);
}
if (getrlimit(RLIMIT_CORE, &rlim) == 0) {
rlim.rlim_cur = rlim.rlim_max;
setrlimit(RLIMIT_CORE, &rlim);
}
/* Get SlurmctldPidFile for _kill_old_slurmctld */ /* Get SlurmctldPidFile for _kill_old_slurmctld */
if ((error_code = read_slurm_conf_ctl (&slurmctld_conf))) { if ((error_code = read_slurm_conf_ctl (&slurmctld_conf))) {
error("read_slurm_conf_ctl error %d reading %s", error("read_slurm_conf_ctl error %d reading %s",
...@@ -274,17 +264,28 @@ int main(int argc, char *argv[]) ...@@ -274,17 +264,28 @@ int main(int argc, char *argv[])
part_fini(); /* part_fini() must preceed node_fini() */ part_fini(); /* part_fini() must preceed node_fini() */
node_fini(); node_fini();
slurm_cred_ctx_destroy(slurmctld_config.cred_ctx); slurm_cred_ctx_destroy(slurmctld_config.cred_ctx);
init_slurm_conf(&slurmctld_conf); free_slurm_conf(&slurmctld_conf);
xfree(slurmctld_conf.slurm_conf); slurm_auth_fini();
#endif #endif
log_fini(); log_fini();
return SLURM_SUCCESS; return SLURM_SUCCESS;
} }
/* initialization of common slurmctld configuration parameters */ /* initialization of common slurmctld configuration */
static void _init_config(void) static void _init_config(void)
{ {
struct rlimit rlim;
if (getrlimit(RLIMIT_NOFILE, &rlim) == 0) {
rlim.rlim_cur = rlim.rlim_max;
(void) setrlimit(RLIMIT_NOFILE, &rlim);
}
if (getrlimit(RLIMIT_CORE, &rlim) == 0) {
rlim.rlim_cur = rlim.rlim_max;
(void) setrlimit(RLIMIT_CORE, &rlim);
}
slurmctld_config.daemonize = DEFAULT_DAEMONIZE; slurmctld_config.daemonize = DEFAULT_DAEMONIZE;
slurmctld_config.resume_backup = false; slurmctld_config.resume_backup = false;
slurmctld_config.server_thread_count = 0; slurmctld_config.server_thread_count = 0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment