Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 27ea54d1944161d254053cf33541290d > files > 5

ksh-20100621-5.el5_8.1.src.rpm

diff -up ksh-20080202/src/cmd/ksh93/sh/jobs.c.ttou ksh-20080202/src/cmd/ksh93/sh/jobs.c
--- ksh-20080202/src/cmd/ksh93/sh/jobs.c.ttou	2008-01-04 22:08:52.000000000 +0100
+++ ksh-20080202/src/cmd/ksh93/sh/jobs.c	2008-12-02 16:43:37.449816189 +0100
@@ -649,9 +649,16 @@ static void job_reset(register struct pr
 {
 	/* save the terminal state for current job */
 #ifdef SIGTSTP
+	Sig_handler_t saved_handler;
+
+	saved_handler = signal(SIGTTOU, SIG_IGN);
 	job_fgrp(pw,tcgetpgrp(job.fd));
 	if(tcsetpgrp(job.fd,job.mypid) !=0)
+	{
+		signal(SIGTTOU, saved_handler);
 		return;
+	}
+	signal(SIGTTOU, saved_handler);
 #endif	/* SIGTSTP */
 	/* force the following tty_get() to do a tcgetattr() unless fg */
 	if(!(pw->p_flag&P_FG))