From 42fd9638367ee56cbb5a86fc88a41a21edaeef1c Mon Sep 17 00:00:00 2001 From: Moe Jette <jette1@llnl.gov> Date: Mon, 4 Aug 2003 23:43:52 +0000 Subject: [PATCH] Plug possible memory leak on reconfig command. --- src/slurmctld/read_config.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/slurmctld/read_config.c b/src/slurmctld/read_config.c index c58c5ef625a..0840929ae76 100644 --- a/src/slurmctld/read_config.c +++ b/src/slurmctld/read_config.c @@ -821,13 +821,16 @@ static void _restore_node_state(struct node_record *old_node_table_ptr, node_ptr = find_node_record(old_node_table_ptr[i].name); if (node_ptr == NULL) continue; - node_ptr->node_state = old_node_table_ptr[i].node_state; - node_ptr->last_response = old_node_table_ptr[i].last_response; - node_ptr->cpus = old_node_table_ptr[i].cpus; - node_ptr->real_memory = old_node_table_ptr[i].real_memory; - node_ptr->tmp_disk = old_node_table_ptr[i].tmp_disk; - node_ptr->reason = old_node_table_ptr[i].reason; - old_node_table_ptr[i].reason = NULL; + node_ptr->node_state = old_node_table_ptr[i].node_state; + node_ptr->last_response = old_node_table_ptr[i].last_response; + node_ptr->cpus = old_node_table_ptr[i].cpus; + node_ptr->real_memory = old_node_table_ptr[i].real_memory; + node_ptr->tmp_disk = old_node_table_ptr[i].tmp_disk; + if(node_ptr->reason == NULL) { + /* Recover only if not explicitly set in slurm.conf */ + node_ptr->reason = old_node_table_ptr[i].reason; + old_node_table_ptr[i].reason = NULL; + } } } -- GitLab