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: <08a601c19a99$0aeb9690$0200a8c0@lifelesswks> From: "Robert Collins" To: , "Andy Piper" References: <4 DOT 3 DOT 2 DOT 7 DOT 2 DOT 20020111022918 DOT 00b63c68 AT san-francisco DOT beasys DOT com> Subject: Ash spawning win32 programs (was Re: bash/cmd CTRL-C problem...) Date: Fri, 11 Jan 2002 23:11:03 +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: 11 Jan 2002 12:11:01.0929 (UTC) FILETIME=[09453990:01C19A99] ----- Original Message ----- From: "Andy Piper" > Many thanks for looking at this. While the iron is hot - this problem is > still outstanding and I don't know whether you would expect this to be > fixed also: Can I suggest you start a new thread when the topic changes, it helps prevent confusion - particulary if the original thread hangs around. > Interactive bash shell starts: > -> shell script using ash starts: > -> java program > > ^C-ing the script does not have any visible effect (i.e. the java program > is not killed). As noted previously this problem is resolved if you make > /bin/sh be bash rather than ash. Hmm. I'll look into this is you will :}. I suspect that ash uses vfork rather than fork+exec to start it's child process's. That may result in no cygwin stub existing. here's what you need to do: write an ash script that prints out it's pid, and (if you can get it) the cygwin pid of the java program. Start the ash script in the background, and then use ps. See if the java program appears in ps. If it does - check via task manager or process explorer to see if the reported cygwin pid is the same as the actual java.exe pid. If it doesn't appear, then no cygwin stub exists, and quite some work may be needed to *efficiently* create such a virtual process. (it would be quite trivial via the daemon :}) If it does appear, and the shown cygwin pid is the same as the java.exe pid, then no stub exists, but the bulk of the code to have a 'virtual' process is there, but signals aren't working correctly. If it does appear, and the shown cygwin pid is different than the actual java.exe pid, then there is a stub, and things should be working correctly - I'll take a direct look at this point. 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/