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]

RE: Brainstorming a fix for CTRL-C handling in an emacs shell buf fer (non-TTY)


> >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


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