Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Fri, 19 Sep 2003 21:12:22 -0400 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: ^C not getting to sub, sub, sub, sub processes (was: Re: 1.5.4s assertion "hsig_inited" failed) Message-ID: <20030920011221.GA548@redhat.com> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <20030908211837 DOT GA9461 AT redhat DOT com> <20030909011329 DOT GB6708 AT redhat DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.1i 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/