X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-10.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI X-Spam-Check-By: sourceware.org From: "Schmidt, Oliver" To: "cygwin AT cygwin DOT com" Date: Wed, 10 Mar 2010 10:55:04 +0100 Subject: Re: Cygwin 1.7: Concurrency Issue with Shared State Initialization Message-ID: Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 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 Hi Corrina, Thanks for your involvement :-) >> [...] a spinlock [...] With >> InterlockedCompareExchange() and Sleep() it should be quite simple to >> create one that's very efficient in the usual scenario. > Does the below patch fix this for you? I'll test the snapshot asap! [...] + LONG init =3D InterlockedCompareExchange (&installation_root_init, 1= L, 0L); [...] + low_priority_sleep (0); [...] I see we were thinking along the same lines ;-) Regards, Oliver -- 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