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" To: dkarr AT real DOT com, 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> <4A3FE157 DOT 9080901 AT cornell DOT edu> <79EE5DFDC3DC45F2821CD2441A8A63C5 AT corp DOT real DOT com> Subject: RE: How to avoid having shell scripts which fail from killing Emacs shell? Date: Tue, 23 Jun 2009 08:03:55 -0700 Message-ID: <7F307F6AD3334E008D35103D37D60A73@corp.real.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit In-Reply-To: <79EE5DFDC3DC45F2821CD2441A8A63C5@corp.real.com> X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , 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 David Karr > Sent: Monday, June 22, 2009 4:42 PM > To: kbrown AT cornell DOT edu; cygwin AT cygwin DOT com > Subject: RE: How to avoid having shell scripts which fail from killing > Emacs shell? > > > -----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. I just tried changing my script to instead just do a "read" with a prompt. This does not kill the shell at the end of the script. When I do it in Java, it kills the shell at the end of the script. Weird. -- 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