From 9ad9c5cda1087151c64074a965a68b407a8bd229 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Mon, 23 Apr 2018 15:11:34 +0100 Subject: 42705: Another safety fix for pgrp reclaiming. Only do this if killpg(dead_pid, 0) returns -1, indicating the pgprp doesn't exist any more, else there is a race if other proceses have started using it. --- Src/signals.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Src/signals.c') diff --git a/Src/signals.c b/Src/signals.c index 6e1215875..f2165c005 100644 --- a/Src/signals.c +++ b/Src/signals.c @@ -538,7 +538,8 @@ wait_for_processes(void) update_process(pn, status); #endif if (WIFEXITED(status) && - pn->pid == jn->gleader) { + pn->pid == jn->gleader && + killpg(pn->pid, 0) == -1) { jn->gleader = 0; if (!(jn->stat & STAT_NOSTTY)) { /* -- cgit 1.4.1