File pdksh-5.2.14-73718.patch of Package pdksh
--- jobs.c 1999-07-13 12:50:56.000000000 -0400
+++ jobs.c 2001-10-27 15:31:57.000000000 -0400
@@ -334,12 +334,17 @@
int i;
if (Flag(FMONITOR)) {
- /* Don't call get_tty() 'til we own the tty process group */
- tty_init(FALSE);
+ int use_tty;
+ if (Flag(FTALKING)) {
+ /* Don't call get_tty() 'til we own the tty process group */
+ use_tty = 1;
+ tty_init(FALSE);
+ } else
+ use_tty = 0;
# ifdef TTY_PGRP
/* no controlling tty, no SIGT* */
- ttypgrp_ok = tty_fd >= 0 && tty_devtty;
+ ttypgrp_ok = use_tty && tty_fd >= 0 && tty_devtty;
if (ttypgrp_ok && (our_pgrp = getpgID()) < 0) {
warningf(FALSE, "j_init: getpgrp() failed: %s",
@@ -395,8 +400,10 @@
strerror(errno));
}
# endif /* NTTYDISC && TIOCSETD */
- if (!ttypgrp_ok)
- warningf(FALSE, "warning: won't have full job control");
+ if (Flag(FTALKING)) {
+ if (!ttypgrp_ok)
+ warningf(FALSE, "warning: won't have full job control");
+ }
# endif /* TTY_PGRP */
if (tty_fd >= 0)
get_tty(tty_fd, &tty_state);