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 Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <000f01c19766$549cb8e0$0200a8c0@lifelesswks> From: "Robert Collins" To: "Michael Rumpf" , References: <00f201c18922$2783b180$c51811ac AT brokat DOT de><003c01c18936$55ca5fd0$c51811ac AT brokat DOT de><05cb01c18a07$85d72c40$c51811ac AT brokat DOT de><02f701c19516$5212afa0$c51811ac AT brokat DOT de><20020104170443 DOT GD30445 AT redhat DOT com> <00dc01c19758$02b30f10$c51811ac AT brokat DOT de> <1010394535 DOT 566 DOT 10 DOT camel AT lifelesswks> <011401c19762$04185fe0$c51811ac AT brokat DOT de> Subject: Re: bash/cmd CTRL-C problem... Date: Mon, 7 Jan 2002 21:30:29 +1100 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2600.0000 X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 X-OriginalArrivalTime: 07 Jan 2002 10:30:30.0552 (UTC) FILETIME=[54A32180:01C19766] ----- Original Message ----- From: "Michael Rumpf" Yes, that is what I meant. > bash (cygwin, of course) > app1 = "signals (MS CRT)" > app2 = "myclass.exe (MS CRT)" or "java myclass (???)" Lets leave java to the side. If we solve it with MS CRT, and java apps still have problems, then that becomes a new bug. Why? because there are multiple JVM's to consider, making it harder to setup a test environment. And because I suspect that a solution to one will solve the other. > > By this are you implying that this: > > cmd.exe > > app1 (cygwin/MS CRT (see above)) > > app2 (MS CRT) > > behaves as you expect? > > cmd.exe > bash (cygwin, of course) > app1="signals (MS CRT)" app1 > app2="myclass.exe (MS CRT)" or "java myclass (???)" > > yes here the behaviour is correct !! When pressing CTRL-C the execution > continues after handling the signal. The child apps are taken down by > sending a CTRL-BREAK event. Ok. let me confirm I understand everything. * Failure case * 1) double click on a shortcut to cygwin.bat from a default install of cygwin 2) run ./signals.exe 3) ./myclass.exe is automatically executed (BTW: this is not fork() - fork() requires a cygwin linked signals.exe. In unix terms, this is a spawned program. 4) Hit CTRL-C. 5) The user is returned to the bash shell started via 1), but myclass.exe is left running. * success case * 1) double click on a shortcut to cmd.exe 2) run X:\cygwin\cygwin.bat 3) run ./signals.exe 4) ./myclass.exe is automatically executed (BTW: this is not fork() - fork() requires a cygwin linked signals.exe. In unix terms, this is a spawned program. 5) Hit CTRL-C. 6) The user is returned to the bash shell started via 2), and myclass.exe is terminated correctly. Please edit the above as needed to correctly show the actions taken and the expected outcome, to prevent me erroneously reporting no-fault-found or no-success-found etc. > Great, the attachment of one of my previous mails should give you a > repeatable test case at hand. It includes the signals.cpp (app1), > myclass.cpp/myclass.java (app2) and a Makefile to compile it (the makefile > needs some updates to the paths used there). You don't have to compile the > Java class just compile the C/C++ apps and launch "signals cpp" which > results in forking the C/C++ child app myclass.exe. I've not archived those mails. Can you please send me (as an off-list email, separate to your on-list response) the relevant files. I presume they will build with gcc -mno-cygwin ? (If Visual C++ is required to build them, please provide a .exe). Cheers, Rob -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/