From e4b2526e1dba3059d48a3f08020843ab48600297 Mon Sep 17 00:00:00 2001
From: Moe Jette <jette1@llnl.gov>
Date: Wed, 8 Aug 2007 20:59:09 +0000
Subject: [PATCH] Fix race condition in pty code

---
 src/slurmd/slurmstepd/io.c  | 2 ++
 src/slurmd/slurmstepd/mgr.c | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/src/slurmd/slurmstepd/io.c b/src/slurmd/slurmstepd/io.c
index 4b92a1a29e1..b210f3c1743 100644
--- a/src/slurmd/slurmstepd/io.c
+++ b/src/slurmd/slurmstepd/io.c
@@ -714,6 +714,8 @@ static void *_window_manager(void *arg)
 		if (ioctl(win_info->task->to_stdin, TIOCSWINSZ, &ws))
 			error("ioctl(TIOCSWINSZ): %s");
 		if (kill(win_info->task->pid, SIGWINCH)) {
+			if (errno == ESRCH)
+				break;
 			error("kill(%d, SIGWINCH): %m", 
 				(int)win_info->task->pid);
 		}
diff --git a/src/slurmd/slurmstepd/mgr.c b/src/slurmd/slurmstepd/mgr.c
index 25dc8f11098..5671b7cbdd3 100644
--- a/src/slurmd/slurmstepd/mgr.c
+++ b/src/slurmd/slurmstepd/mgr.c
@@ -954,6 +954,8 @@ _fork_all_tasks(slurmd_job_t *job)
 	jobacct_g_set_proctrack_container_id(job->cont_id);
 
 	for (i = 0; i < job->ntasks; i++) {
+		if (job->pty && (job->task[i]->gtid == 0))
+			continue;
 		/*
                  * Put this task in the step process group
                  */
-- 
GitLab