This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]