From 211abaee4d475e601100365183c366c44dbdafb9 Mon Sep 17 00:00:00 2001
From: Moe Jette <jette1@llnl.gov>
Date: Mon, 16 Aug 2004 16:49:21 +0000
Subject: [PATCH] Avoid slurmd abort if job timeout request generates an error
 after setting the reply filel descriptor to -1 (seen in Blue Gene/L testing).

---
 src/slurmd/req.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/slurmd/req.c b/src/slurmd/req.c
index cfb00ca5571..784fe39b469 100644
--- a/src/slurmd/req.c
+++ b/src/slurmd/req.c
@@ -943,7 +943,8 @@ _rpc_kill_job(slurm_msg_t *msg, slurm_addr *cli)
 	if (!_slurm_authorized_user(uid)) {
 		error("Security violation: kill_job(%ld) from uid %ld",
 		      req->job_id, (long) uid);
-		slurm_send_rc_msg(msg, ESLURM_USER_ID_MISSING);
+		if (msg->conn_fd >= 0)
+			slurm_send_rc_msg(msg, ESLURM_USER_ID_MISSING);
 		return;
 	} 
 
@@ -955,7 +956,8 @@ _rpc_kill_job(slurm_msg_t *msg, slurm_addr *cli)
 	 *   then exit this thread.
 	 */
 	if (_waiter_init (req->job_id) < 0) {
-		slurm_send_rc_msg (msg, SLURM_SUCCESS);
+		if (msg->conn_fd >= 0)
+			slurm_send_rc_msg (msg, SLURM_SUCCESS);
 		return;
 	}
 
@@ -979,7 +981,9 @@ _rpc_kill_job(slurm_msg_t *msg, slurm_addr *cli)
 	 *    request.
 	 */
 	if ((nsteps == 0) && !conf->epilog && (msg->conn_fd >= 0)) {
-		slurm_send_rc_msg(msg, ESLURMD_KILL_JOB_ALREADY_COMPLETE);
+		if (msg->conn_fd >= 0)
+			slurm_send_rc_msg(msg, 
+				ESLURMD_KILL_JOB_ALREADY_COMPLETE);
 		slurm_cred_begin_expiration(conf->vctx, req->job_id);
 		_waiter_complete(req->job_id);
 		return;
-- 
GitLab