delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2002/01/11/07:13:15

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
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" <robert DOT collins AT itdomain DOT com DOT au>
To: <cygwin AT cygwin DOT com>, "Andy Piper" <andyp AT bea DOT com>
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
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" <andyp AT bea DOT com>


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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019