Reproducer steps :
$ cat p1
#!/bin/ksh
while true
do
echo -n "Exit (y/n)? " 1>&2
read V
if [ "${V}" = "y" ]
then
exit 1
fi
sleep 1
done
$ cat p2
#!/bin/ksh
sleep 1
exit
Run as :
$ taskset 1 ksh
$ ./p1 | ./p2
First process will continue to receive SIGTTIN and SIGCONT. Attached patch
fixes this issue.
--
--
Siteshwar Vashisht
diff --git a/src/cmd/ksh93/sh/jobs.c b/src/cmd/ksh93/sh/jobs.c
--- a/src/cmd/ksh93/sh/jobs.c
+++ b/src/cmd/ksh93/sh/jobs.c
@@ -1579,6 +1579,7 @@ int job_wait(register pid_t pid)
if( pw->p_exit!=SIGTTIN && pw->p_exit!=SIGTTOU)
break;
+ tcsetpgrp(JOBTTY,pw->p_pgrp);
killpg(pw->p_pgrp,SIGCONT);
}
else /* ignore stop when non-interactive */
_______________________________________________
ast-developers mailing list
[email protected]
http://lists.research.att.com/mailman/listinfo/ast-developers