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: <02f701c19516$5212afa0$c51811ac@brokat.de> From: "Michael Rumpf" To: References: <00f201c18922$2783b180$c51811ac AT brokat DOT de> <003c01c18936$55ca5fd0$c51811ac AT brokat DOT de> <05cb01c18a07$85d72c40$c51811ac AT brokat DOT de> Subject: Re: bash/cmd CTRL-C problem... Date: Fri, 4 Jan 2002 12:52:43 +0100 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_02F4_01C1951E.B32D6A20" 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 ------=_NextPart_000_02F4_01C1951E.B32D6A20 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Hi Corinna, I further investigated the bash CTRL-C problem and found out that pressing CTRL-C in the bash is "nearly" the same as CTRL-BREAK. I tried all the CYGWIN=tty/notty/ combinations but that did not change anything... Test application: I have several sample applications, one in Java (myclass.java) and one in C/C++ (myclass.cpp) which are forked via the Win32API call CreateProcess() from the main application (signals.cpp). The main application installs signal handlers for SIGINT and SIGBREAK. In the SIGINT case the code in the main thread should be further executed when the signal handler finishes. In the SIGBREAK case the process should just stop and also stop all the forked children. The continuation of the process in the SIGINT case is crucial because the handler sets a flag which causes the main thread to leave a loop and send the child processes a CTRL-BREAK event. The CTRL-BREAK event is important because the process has been created with the flag CREATE_PROCESS_GROUP and only CTRL_BREAK can be used to terminate the process (see http://msdn.microsoft.com/library/en-us/dllproc/prothred_9dpv.asp: CreateProcess disables the CTRL-C signal handler for processes created as a process group). The problem is that the bash does not continue executing the main thread of the process after the handling of SIGINT, the process terminates without being able to send the termination message (GenerateConsoleCtrlEvent) to the child processes. The main process stops but the child process continue to live (You can see that the child process is still running as it writes dots "." to the console). When pressing CTRL-BREAK the behaviour is as it should be, the main thread is not further executed and the main process and all the child processes are stopped. The cmd shell works as it should be. CTRL-BREAK stops everything immediatly and CTRL-C continues with the main thread after the signal was handled. I guess it is worth mentioning that I don't use any of the Cygwin libc stuff. The apps are linked against MS runtime libs. The application is just started from the bash (I can't switch to another runtime lib as our project is huge and only the MS runtime is officially supported). I use the bash for convenience reasons as we support several UNIX platforms where the bash is our standard shell. Only under Win2K we "officially" use the cmd shell because of the broken signal handling... You can reproduce the problem with the sample applications attached. You need to tweak the paths in the Makefile and the path to the Java VM in the file signals.cpp. I also attached an output of "cygcheck -s -v -h" to the mail. Michael ----- Original Message ----- From: "Michael Rumpf" To: Sent: Friday, December 21, 2001 11:09 AM Subject: Re: bash/cmd CTRL-C problem... > Am I the only one having problems with this, or is this simply the wrong > list to ask a question about the Cygwin bash... ?? > > Michael > > ----- Original Message ----- > From: "Michael Rumpf" > To: > Sent: Thursday, December 20, 2001 10:11 AM > Subject: Re: bash/cmd CTRL-C problem... > > > > Hi, > > > > sorry for following up myself, but I found out that Cygwin equally handles > > CTRL-BREAK and CTRL-C by sending a SIGINT to the process. > > See http://groups.yahoo.com/group/gnu-win32/message/27643 (last sentence). > > This seems to be the source of the problem. > > CTRL-BREAK under the cmd shell terminates the process after handling the > > signal without further executing any code. The bad thing is that under > bash > > the same behaviour follows from pressing CTRL-BREAK _and_ CTRL-C !! > > > > If this is a design issue, can someone please explain what the reasons > > are... > > > > We have an application that forks other processes. The main thread is > > waiting for the signal handler to return in order to cleanly stop the > child > > processes. By just stopping the parent process the child processes keep > > running and I have to kill them manually each time I press CTRL-C. The > same > > application is working fine under windows cmd shell and bash under Linux , > > HP-UX 10/11, AIX4.x, and SunOS 2.5+... > > > > Please help, I don't want to use the stupid windows cmd shell.... ;-) > > > > Michael > > > > ----- Original Message ----- > > From: "Michael Rumpf" > > To: > > Sent: Thursday, December 20, 2001 7:47 AM > > Subject: bash/cmd CTRL-C problem... > > > > > > > Hi, > > > > > > I'm new to the list and I don't know if this problem is already solved, > > but > > > I couldn't find a hint neither on the archives nor on the FAQ or > somewhere > > > else on the net. > > > > > > My problem is related to bash/cmd and signal handling. > > > In my app I installed a signal handler for SIGINT. The app is going into > a > > > wait loop and waiting for the exit flag from the signal handler to be > set. > > > > > > When pressing CTRL-C in the windows cmd shell the application continues > > > normally after the signal handler has been caught. Under bash the signal > > > handler is also correctly called, but after that the app is exiting > > > immediatly, i.e. not continuing with the code. > > > Here is the source: > > > > > > > > > //////////////////////////////////////////////////////////////////////////// > > > ///////////////// > > > #include > > > #include > > > #include > > > > > > bool loop = true; > > > > > > extern "C" void signalHandler(int sig) > > > { > > > switch( sig ) > > > { > > > case SIGINT: // == 2 > > > printf("SIGINT=%d\n",sig); > > > break; > > > default: > > > printf("default=%d\n",sig); > > > break; > > > }; > > > loop=false; > > > } > > > > > > int main(int argc, char* argv[]) > > > { > > > if (signal( SIGINT , signalHandler ) == SIG_ERR) > > > return -1; > > > printf("### ctrlbreak: Waiting now...\n"); > > > while(loop) > > > Sleep ((DWORD) 1000) ; > > > printf("### ctrlbreak: Finished waiting now...\n"); > > > return 0; > > > } > > > > > > //////////////////////////////////////////////////////////////////////////// > > > ///////////////// > > > > > > Here the the output of the app under Win2K/bash: > > > // bash 2.05a-2 > > > $ ./ctrlbreak.exe > > > ### ctrlbreak: Waiting now... > > > SIGINT=2 > > > > > > > > > // GNU bash, version 2.02.1(2)-release (i586-pc-cygwin32) B20.1 > > > bash-2.02$ ./ctrlbreak > > > ### ctrlbreak: Waiting now... > > > SIGINT=2 > > > > > > // cmd.exe Win2k SP2 > > > ### ctrlbreak: Waiting now... > > > SIGINT=2 > > > ### ctrlbreak: Finished waiting now... > > > > > > > > > You can see that under the cmd shell the text "Finished waiting now..." > is > > > printed which does not come out under the bash. The app is not linked > > > against any cygwin library. It is a plain VC++ console application. But > > when > > > I compile with gcc from the cygwin package I have the same result. > > > Any hint would be greatly appreciated... > > > > > > Michael > > > > > > PS: I just downloaded the latest stable version 1.3.6 today... > > > > > > > > > > > > -- > > > 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/ > > > > > > > > > > > > -- > > 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/ > > > > > -- > 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/ > > ------=_NextPart_000_02F4_01C1951E.B32D6A20 Content-Type: application/x-zip-compressed; name="Cygcheck.zip" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Cygcheck.zip" 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 dFBLBQYAAAAAAQABADoAAABdDwAAAAA= ------=_NextPart_000_02F4_01C1951E.B32D6A20 Content-Type: application/x-zip-compressed; name="Signals.zip" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Signals.zip" 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 AAAFAAUAFAEAAJgNAAAAAA== ------=_NextPart_000_02F4_01C1951E.B32D6A20 Content-Type: text/plain; charset=us-ascii -- 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/ ------=_NextPart_000_02F4_01C1951E.B32D6A20--