delorie.com/archives/browse.cgi | search |
Mailing-List: | contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm |
List-Subscribe: | <mailto:cygwin-subscribe AT sources DOT redhat DOT com> |
List-Archive: | <http://sources.redhat.com/ml/cygwin/> |
List-Post: | <mailto:cygwin AT sources DOT redhat DOT com> |
List-Help: | <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs> |
Sender: | cygwin-owner AT sources DOT redhat DOT com |
Delivered-To: | mailing list cygwin AT sources DOT redhat DOT com |
Message-ID: | <002901c0c833$d32553a0$3e8a42d8@hpcustomer> |
From: | "Tim Baker" <dbaker AT direct DOT ca> |
To: | <cygwin AT cygwin DOT com> |
References: | <002101c0c82e$8206abe0$3e8a42d8 AT hpcustomer> <2352393414 DOT 20010418214818 AT logos-m DOT ru> |
Subject: | Re: cygwin apps in pipe ignore ctrl+c |
Date: | Wed, 18 Apr 2001 11:17:26 -0700 |
MIME-Version: | 1.0 |
X-Priority: | 3 |
X-MSMail-Priority: | Normal |
X-Mailer: | Microsoft Outlook Express 5.50.4522.1200 |
X-MimeOLE: | Produced By Microsoft MimeOLE V5.50.4522.1200 |
> TB> I have a console app MyApp which runs in a pipe. MyApp calls > TB> CreateProcess() to launch OtherApp and later calls > TB> GenerateConsoleCtrlEvent() to send Ctrl+C to OtherApp. When > TB> OtherApp is non-Cygwin it is interrupted cleanly just as though > TB> the user had typed Ctrl+C from in the DOS window. But when > TB> OtherApp is a Cygwin application it ignores any number of > TB> CTRL_C_EVENTs I send and continues running. So a Cygwin > TB> app must be calling SetConsoleCtrlHandler() to intercept the > TB> CTRL_C_EVENT but for some reason it is not behaving properly > TB> when the Cygwin app is *running in a pipe*. (The Cygwin app IS > TB> attached to a Win32 console window which is required for > TB> GenterateConsoleCtrlEvent() to work.) > > use kill() function to interrupt cygwin application. this is a normal > unix way to do such things. Sure, but I do not know if OtherApp is going to be a Cygwin app or not. Sometimes it is not, so calling Cygwin's kill() might not be appropriate. In any event, this bug effects typing Ctrl+C in a console window too. When I run "gcc -pipe file.c" and CPP is running, I type Ctrl+C and CPP does not die. I then type Ctrl+Alt+Del to see the running tasks and GCC is gone but not CPP (CPP continues running then exits). -- Tim Baker -- Want to unsubscribe from this list? Check out: http://cygwin.com/ml/#unsubscribe-simple
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |