delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/06/22/19:42:12

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL,BAYES_00,SPF_PASS
X-Spam-Check-By: sourceware.org
From: "David Karr" <dkarr AT real DOT com>
To: kbrown AT cornell DOT edu, cygwin AT cygwin DOT com
References: <41FCBA4373FF4228897280824F4627CF AT corp DOT real DOT com> <4A3FDACE DOT 3060402 AT cornell DOT edu> <FB3A080CD486460B81572A5449F34297 AT corp DOT real DOT com> <4A3FE157 DOT 9080901 AT cornell DOT edu>
Subject: RE: How to avoid having shell scripts which fail from killing Emacs shell?
Date: Mon, 22 Jun 2009 16:41:55 -0700
Message-ID: <79EE5DFDC3DC45F2821CD2441A8A63C5@corp.real.com>
MIME-Version: 1.0
In-Reply-To: <4A3FE157.9080901@cornell.edu>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

> -----Original Message-----
> From: cygwin-owner AT cygwin DOT com [mailto:cygwin-owner AT cygwin DOT com] On Behalf
> Of Ken Brown
> Sent: Monday, June 22, 2009 12:54 PM
> To: cygwin AT cygwin DOT com
> Subject: Re: How to avoid having shell scripts which fail from killing
> Emacs shell?
> 
> On 6/22/2009 3:38 PM, David Karr wrote:
> >> -----Original Message-----
> >> From: cygwin-owner AT cygwin DOT com [mailto:cygwin-owner AT cygwin DOT com] On
> Behalf
> >> Of Ken Brown
> >> Sent: Monday, June 22, 2009 12:26 PM
> >> On 6/22/2009 10:53 AM, David Karr wrote:
> >>> I've often been annoyed by shell scripts which fail for particular
> >>> reasons, at which point it causes my Emacs shell buffer to get killed,
> >>> with "Process shell<2> finished".
> >> I don't recall ever seeing this happen, but maybe I just don't
> remember.
> >>   Can you give me a simple test case?
> >
> > I'm not sure how complicated it needs to be.  My test case gathers a
> couple
> > of parameters and then calls a Java (JDK 1.6.0_14) class.  The class
> throws
> > an exception (file not found) in my test case (because I'm deliberately
> > giving it parameters that will cause that).  If I give it parameters
> that
> > will avoid the exception, then it doesn't kill the shell.
> >
> > Is that enough information to build a test case with?
> 
> No.  I don't have JDK installed, and I don't have any idea how it
> interacts with cygwin processes.  If you can trigger the problem with a
> simple shell script that doesn't require JDK, I'll see if I can help.
> Or maybe someone on the list who does have JDK can suggest something for
> you to try.

I was able to produce an additional clue by writing a custom class for
testing this.

I found that the key is whether the Java class reads from stdin or not.  I
built a first version that takes a filepath on the command line, and whether
I get the class to throw an exception or not, it exits the script without
killing the shell.  However, when I changed the class to also read a line of
input from stdin, whether the filepath on the command line exists or not
(i.e., whether the class throws an exception or not), it kills the shell at
completion of the script.

So, it has something to do with whether the sub-shell reads stdin or not.  I
have no idea what that indicates, but I'm sure that must be useful
information.


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


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