From 67af487e71ec7c2f74177657e32f1ef3fb0692d4 Mon Sep 17 00:00:00 2001
From: Moe Jette <jette1@llnl.gov>
Date: Thu, 6 Nov 2003 20:50:09 +0000
Subject: [PATCH] Combine KILL_JOB messages so that all nodes appear on a
 single line using node hostlist format.

---
 src/slurmctld/node_scheduler.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/slurmctld/node_scheduler.c b/src/slurmctld/node_scheduler.c
index 725c7e58f8e..cb287f2585f 100644
--- a/src/slurmctld/node_scheduler.c
+++ b/src/slurmctld/node_scheduler.c
@@ -1301,6 +1301,8 @@ extern void re_kill_job(struct job_record *job_ptr)
 	pthread_attr_t attr_agent;
 	pthread_t thread_agent;
 	int buf_rec_size = 0;
+	hostlist_t kill_hostlist = hostlist_create("");
+	char host_str[64];
 
 	xassert(job_ptr);
 	xassert(job_ptr->details);
@@ -1319,8 +1321,7 @@ extern void re_kill_job(struct job_record *job_ptr)
 			continue;
 		if (node_ptr->node_state & NODE_STATE_NO_RESPOND)
 			continue;
-		info("Resending KILL_JOB request for JobId=%u, Node=%s",
-			job_ptr->job_id, node_ptr->name);
+		(void) hostlist_push_host(kill_hostlist, node_ptr->name);
 		if ((agent_args->node_count + 1) > buf_rec_size) {
 			buf_rec_size += 32;
 			xrealloc((agent_args->slurm_addr),
@@ -1340,9 +1341,17 @@ extern void re_kill_job(struct job_record *job_ptr)
 	if (agent_args->node_count == 0) {
 		xfree(kill_job);
 		xfree(agent_args);
+		hostlist_destroy(kill_hostlist);
 		return;
 	}
 
+	hostlist_uniq(kill_hostlist);
+	hostlist_ranged_string(kill_hostlist, 
+			sizeof(host_str), host_str);
+	info("Resending KILL_JOB request JobId=%u Nodelist=%s",
+			job_ptr->job_id, host_str);
+	hostlist_destroy(kill_hostlist);
+
 	agent_args->msg_args = kill_job;
 	debug2("Spawning job kill agent");
 	if (pthread_attr_init(&attr_agent))
-- 
GitLab