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 sources DOT redhat DOT com Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com Message-ID: <008e01c176ff$65579060$578208d2@itdomain.net.au> From: "Robert Collins" To: References: <20011127014725 DOT GA13222 AT redhat DOT com> Subject: Re: consistent version of Interlocked* functions Date: Tue, 27 Nov 2001 15:48:14 +1100 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2462.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2462.0000 X-OriginalArrivalTime: 27 Nov 2001 04:46:08.0053 (UTC) FILETIME=[6DE43E50:01C176FE] ----- Original Message ----- From: "Christopher Faylor" To: Sent: Tuesday, November 27, 2001 12:47 PM Subject: consistent version of Interlocked* functions > A while ago, I wrote (or acquired -- can't remember exactly) some inline > assembly versions of the Interlocked* functions but never ended up > adding them to cygwin. > > It occurred to me today that I should dust these off again and use them > in the cygwin source. Why? In addition to the fact that they should be > faster than the ones available from the library, they also are > consistent on all versions of Windows. I.e., the value returned by > InterlockedIncrement is the incremented value, not some random value > with the same sign as the value. > > The only thing I'm not sure about is if there is a corner case that I > missed. Everything works fine "for me" but you never know... > > The functions are below. > > Are there any objections to my using these? Robert? The thread code > would be the most affected, of course. I'll do a little research and get back to you. Rob