X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-1.1 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE X-Spam-Check-By: sourceware.org X-USANET-Source: 165.212.120.254 IN aeolus AT electric-cloud DOT com s1hub1.EXCHPROD.USA.NET X-USANET-MsgId: XID909oicqX46946Xo2 From: John Carey To: "cygwin AT cygwin DOT com" Date: Fri, 3 Sep 2010 16:18:56 +0000 Subject: RE: 1.7.5: Occasional failure of CreatePipe or signal handing due to thread-unsafe code in cwdstuff::set Message-ID: <3C031C390CBF1E4A8CE1F74DE7ECAF3A158EDA702D@MBX8.EXCHPROD.USA.NET> References: <3C031C390CBF1E4A8CE1F74DE7ECAF3A140684F0AA AT MBX8 DOT EXCHPROD DOT USA DOT NET> <20100811084926 DOT GC26152 AT calimero DOT vinschen DOT de> <3C031C390CBF1E4A8CE1F74DE7ECAF3A140684F0B0 AT MBX8 DOT EXCHPROD DOT USA DOT NET> <20100812081151 DOT GT14202 AT calimero DOT vinschen DOT de> <3C031C390CBF1E4A8CE1F74DE7ECAF3A158EDA702A AT MBX8 DOT EXCHPROD DOT USA DOT NET>,<20100903073740 DOT GA1749 AT calimero DOT vinschen DOT de> In-Reply-To: <20100903073740.GA1749@calimero.vinschen.de> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: 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 On Sep 03 12:37 Corinna Vinschen wrote: > On Sep 2 23:32, John Carey wrote: > > In Aug 17 10:15, Corinna Vinschen wrote: > > > I just released 1.7.6-1. > > ... > > > What changed since Cygwin 1.7.5: > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D > > > > > > - Cygwin handles the current working directory entirely on its own. = The > > > Win32 current working directory is set to an invalid path to be out= of > > > the way. This affects calls to the Win32 file API (CreateFile, etc= .). > > > See http://cygwin.com/htdocs/cygwin-ug-net/using.html#pathnames-win= 32-api > > > > Thank you very much for the fix! > > > > I've been running tests against Cygwin 1.7.6, and then 1.7.7, > > and those sporadic, non-deterministic failures in CreatePipe > > did stop after the 1.7.6 upgrade, and are still gone in 1.7.7. > > I think it's been long enough to conclude that it is not just > > the non-determinism--it really is fixed, as expected. > > > > I understand that this issue opened a can of worms; > > thanks again for your efforts to overcome those difficulties. >=20 > I still don't like the final workaround, which is, to set the Win32 CWD > to the Cygwin CWD. It would be nice if we could revert that change to > the pre-1.7.6 behaviour in a Vista-friendly way. If you ever find out > how to make sure that the new handle in the PEB's user parameter block > is used even on Vista and later, pray tell me. Thus far the only ideas I have come up with are somewhat shaky and go well beyond the documented Win32 API. (If only there was the equivalent of dup2(), but for Win32 handles!!!) Just how much undocumented behavior is tolerable, do you think? -- John -- 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