bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#8938: make timeout and CTRL-C


From: Pádraig Brady
Subject: bug#8938: make timeout and CTRL-C
Date: Wed, 29 Jun 2011 10:55:27 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.8) Gecko/20100227 Thunderbird/3.0.3

On 28/06/11 20:10, Alan Curry wrote:
> =?ISO-8859-1?Q?P=E1draig_Brady?= writes:
>>
>> I'm still not convinced we need to be messing with tcsetpgrp()
>> but you're right in that the disconnect between the timeout
>> process group and that of whatever starts `timeout` should be bridged.
>>
>> I'm testing the attached patch at the moment (which I'll split into 2).
>> It only creates a separate group for the child that `timeout` execs,
>> leaving the timeout process in the original group to propagate signals down.
>>
>> I'll need to do lots of testing with this before I commit.
> 
> 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.

Oh right. This will immediately put dd in sTop state:
  timeout 10 dd
That was one of the main reasons I didn't split the groups
in the first place. I should read my own comments :)
I'm very wary of changing the foreground group (with tcsetpgrp),
which would fix this, but in turn may cause other issues.

> I don't think there's anything that will make every scenario happy. (Except
> for a recursive-kill that doesn't use pgrps!).

Yes, an ideal solution is elusive.
Maybe `make` needs to handle things differently?
If you put the following in a Makefile, how should make respond to Ctrl-C?

all:
        setsid sleep 10

cheers,
Pádraig.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]