From bf9a5a1d0bcdc2542148687afd526053c7d5fd69 Mon Sep 17 00:00:00 2001
From: Aliaksey Kandratsenka <alk@tut.by>
Date: Thu, 24 Sep 2009 14:20:40 +0300
Subject: [PATCH] don't set TOSTOP attribute on slave terminal
TOSTOP doesn't work well with some software. Examples known to me are:
- debugging multithreaded program with gdb (gdb job stops)
- running 'check' tests in fork mode (default) that do some output
(tests mysteriously fail due to timeout)
IMO TOSTOP adds too little value compared to compatibility problems it
creates.
---
src/subshell.c | 5 +----
1 files changed, 1 insertions(+), 4 deletions(-)
diff --git a/src/subshell.c b/src/subshell.c
index 120bd99..05d6ab1 100644
a
|
b
|
init_subshell_child (const char *pty_name) |
214 | 214 | |
215 | 215 | /* Configure its terminal modes and window size */ |
216 | 216 | |
217 | | /* Set up the pty with the same termios flags as our own tty, plus */ |
218 | | /* TOSTOP, which keeps background processes from writing to the pty */ |
219 | | |
220 | | shell_mode.c_lflag |= TOSTOP; /* So background writers get SIGTTOU */ |
| 217 | /* Set up the pty with the same termios flags as our own tty */ |
221 | 218 | if (tcsetattr (subshell_pty_slave, TCSANOW, &shell_mode)) { |
222 | 219 | fprintf (stderr, "Cannot set pty terminal modes: %s\r\n", |
223 | 220 | unix_error_string (errno)); |