Return-Path: Delivered-To: apmail-apr-dev-archive@apr.apache.org Received: (qmail 17808 invoked by uid 500); 23 Mar 2003 05:01:27 -0000 Mailing-List: contact dev-help@apr.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Delivered-To: mailing list dev@apr.apache.org Received: (qmail 17736 invoked from network); 23 Mar 2003 05:01:27 -0000 Date: Sat, 22 Mar 2003 23:52:29 -0500 (EST) From: Cliff Woolley X-X-Sender: root@bistromath.cs.virginia.edu To: Craig Rodrigues cc: dev@apr.apache.org Subject: Re: [PATCH] fix apr_atomic.h for FreeBSD In-Reply-To: <20030323043954.GA13066@attbi.com> Message-ID: References: <20030323043954.GA13066@attbi.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N On Sat, 22 Mar 2003, Craig Rodrigues wrote: > +#define apr_atomic_set(mem, val) (*(mem) = val) > #define apr_atomic_read(mem) (*mem) > + > +#define APR_OVERRIDE_ATOMIC_DEC 1 > +APR_INLINE int apr_atomic_dec(apr_atomic_t *mem) > +{ > + atomic_subtract_int(mem,1); > + return *mem; > +} In what way are those two implementations guaranteed atomic? I don't believe they are at all. --Cliff