GNU bug report logs - #8938
make timeout and CTRL-C

Previous Next

Package: coreutils;

Reported by: shay shimony <shayshim <at> gmail.com>

Date: Sun, 26 Jun 2011 21:48:01 UTC

Severity: normal

Fixed in version 8.13

Done: Pádraig Brady <P <at> draigBrady.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: "Alan Curry" <pacman-cu <at> kosh.dhis.org>
To: shayshim <at> gmail.com (shay shimony)
Cc: 8938 <at> debbugs.gnu.org
Subject: bug#8938: make timeout and CTRL-C
Date: Sat, 2 Jul 2011 15:14:46 -0500 (GMT+5)
shay shimony writes:
> 
> > With this patch the child is guaranteed to not be in the foreground (as far
> > as the tty knows) so it will be getting SIGTTIN and possibly SIGTTOU on tty
> > operations.
> 
> You may need to correct me. In practice we see that the "timeouted" program
> perform successfully writes to the terminal, though it belongs to a
> different group then the foreground (in my case "make"'s group is in the
> foreground and timeout+compiler/test group is in the background, and all
> output of the compiler and test seem to appear correctly on the terminal).
> And regarding read, I think it makes sense enough that users will not use
> timeout for interactive programs that wait for input from the user.
> So maybe the fact that the timeouted program will not be able to get SIGTTIN
> and SIGTTOU is not such a disaster?
> 

Notice that I wrote "possibly" before SIGTTOU. There was a reason for that.

A background process that writes to the tty will get SIGTTOU if "stty tostop"
is in effect. This is a user preference thing. You can set it if you get
annoyed by processes writing to the terminal after you backgrounded them
expecting them to be quiet. It's not enabled by default.

If the process ignores SIGTTOU, the write will proceed, overriding the user's
expressed preference.

SIGTTIN is more forceful. There's no stty flag to turn it off, and ignoring
it results in EIO. Keyboard input always belongs exclusively to the
foreground job.

For completeness I'll also mention that SIGTTOU will also be sent to a
background process that attempts to change the tty settings, even if tostop
is not enabled.

-- 
Alan Curry




This bug report was last modified 14 years and 26 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.