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/