Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin-developers AT sourceware DOT cygnus DOT com Date: Fri, 10 Dec 1999 20:51:27 -0500 From: Chris Faylor To: Andrew Dalgleish , "'cygwin-developers AT sourceware DOT cygnus DOT com'" Subject: Re: snapshot-991207 Message-ID: <19991210205127.B3415@cygnus.com> Mail-Followup-To: Andrew Dalgleish , "'cygwin-developers AT sourceware DOT cygnus DOT com'" References: <00F8D6E8AB0DD3118F1A006008186C9607C7CE AT server1 DOT axonet DOT com DOT au> <19991210010042 DOT A6889 AT cygnus DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0i In-Reply-To: <19991210010042.A6889@cygnus.com>; from cgf@cygnus.com on Fri, Dec 10, 1999 at 01:00:42AM -0500 On Fri, Dec 10, 1999 at 01:00:42AM -0500, Chris Faylor wrote: >>> What shell are you using? >>The shell is bash 2.02 from cygwin b20.1, copied to /bin/sh.exe. >>> >>> Does pwd actually >>> have a value? >> >>What do you mean? >>$(pwd) is a command in a sub-shell, not a variable. > >Doh. That's right. I've got make on the brain. > >>Shell built-in commands eg $(pwd) never work. >>External commands eg $(dirname /foo/bar) work most times, but hang maybe >>1 time in 20. >>A ^C brings back the prompt every time (but one). > >The hanging problem should be fixed. > >I think I know how to deal with this problem but it will have to wait >until tomorrow. I've checked in changes that seem to fix this. It was an interesting problem. read() was setting the EINTR errno but it was getting overwritten by a signal handler because I've changed the way signal handlers are called now. Although, actually, I would not be surprised to hear that this cropped up with B20.1 one time in a thousand too. So, now, in some situations, I save the errno for restoration when a signal handler returns. Lemme know if this works. Before this patch, I got no output fairly frequently. Now I always get what I expect. cgf