Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-ID: <8F23E55D511AD5119A6800D0B76FDDE11E102B@cpex3.channelpoint.com> From: Troy Noble To: "'cygwin AT cygwin DOT com'" Subject: RE: Brainstorming a fix for CTRL-C handling in an emacs shell buf fer (non-TTY) Date: Tue, 8 May 2001 15:38:38 -0600 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" X-Scanned-By: MIMEDefang 1.0 (http://www.roaringpenguin.com/mimedefang/) > >Exactly. I am using FSF NT Emacs 20.7.1, which is a native win32 GUI app. > >However, the fact that it creates a console is probably what's confusing > >cygwin's bash, right? > > I would not call it confused. It is working as designed. Agreed if I understand you correctly. So, you would classify FSF NT Emacs as not being a "pure windows" app, at least not from bash's perspective... since it creates a console. If so, that makes sense. > >> Are you using a Cygwin version of bash? Why is it ignoring SIGINT? > >> ctrl_c_handler in bash should be sending CTRL-Cs to its children. > > > >I've tried with both: 2.05.0(5)-release and 2.04.7(2)-release > >that I used cygwin's setup.exe to install. > > > >And I have mis-spoken again. I think bash DOES send CTRL-C's to > >its children, since I see each of them pop into their ctrl_c_handler. > Actually, I misspoke. The question is why isn't bash sending SIGINTs > to its children. The CTRL-Cs come from Windows. The subprocesses do seem to get the SIGINT. So why aren't they responding to it and killing themselves correctly? I ran bash, set CYGWIN_SLEEP=15000, typed "ls -lR", attached to the process, told gdb to continue, then went to my bash shell and hit CTRL-C. I immediately got a SIGINT in the child process, even before its CTRL-C handler got invoked. (gdb) c Continuing. Program received signal SIGINT, Interrupt. [Switching to thread 1540.0x704] 0x77ec7763 in _libkernel32_a_iname () (gdb) bt #0 0x77ec7763 in _libkernel32_a_iname () #1 0x16dc10 in ?? () #2 0x77e837cd in _libkernel32_a_iname () (gdb) b exceptions.cc:ctrl_c_handler Breakpoint 1 at 0x6100f70b: file /work/build/src/winsup/cygwin/exceptions.cc, li ne 896. (gdb) c Continuing. Breakpoint 1, ctrl_c_handler (type=0) at /work/build/src/winsup/cygwin/exceptions.cc:896 896 if (type == CTRL_LOGOFF_EVENT) Current language: auto; currently c++ (gdb) bt #0 ctrl_c_handler (type=0) at /work/build/src/winsup/cygwin/exceptions.cc:896 #1 0x77ec77b4 in _libkernel32_a_iname () #2 0x77e837cd in _libkernel32_a_iname () -- Want to unsubscribe from this list? Check out: http://cygwin.com/ml/#unsubscribe-simple