This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: ^C not getting to sub, sub, sub, sub processes (was: Re: 1.5.4s assertion "hsig_inited" failed)
On Fri, Sep 19, 2003 at 02:34:37PM -0400, Rolf Campbell wrote:
>Christopher Faylor wrote:
>>This problem sounded familiar so I did a little archive diving. It was
>>reported before and I investigated it before. I remember thinking that
>>this would be hard to fix owing to a race condition with signals in tty
>>code. I can make this fail in various interesting ways even outside of
>>the pty/tty code, though. So, I'm investigating why now.
The above was in reference to CTRL-Z. I do know what the problem is but
I don't have a clean fix for it.
>I have a reproducable (at least on my machine) of some ^C handling issues.
>
>#!/bin/python
>import sys, os, select
>
>if(int(sys.argv[1]) > 0):
> os.system(sys.argv[0] + " %d" % (int(sys.argv[1])-1))
>else:
> select.select([], [], [], 10)
>
>Try running this as "./deep.py 0", and then, when it's waiting, hit ^C,
>it will terminate fine. Now try it as "./deep.py 1", and then hit ^C.
>Nothing happens. I see this when I try to cancel my build, but ^C
>doesn't work when the process tree is too deep.
Interesting. This is an *ancient* bug. I think it even predates my
involvment in cygwin. It was a bug in the system() call. It should be
fixed in the latest snapshot, available now.
Thanks for the test case.
cgf
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/