> From: Branko Cibej [mailto:[EMAIL PROTECTED]
> Sent: Monday, September 29, 2003 3:22 AM

> Branko Äibej wrote:
> 
> >Also, I'm being double stupid because it's not APR that doesn't compile,
> >it's APR-iconv. Ho hum. Now how can that happen?
> >
> >/me grumbles and looks
> >  
> >
> 
> Huh, not surprising. apr_atomic.h does _not_ define apr_atomic_init on
> Win32, Netware, FreeBSD, Linux, MVS and djgpp; no wonder there are
> dangling references to it in apr_pools.obj.

Huh?

#if defined(WIN32)

#define apr_atomic_t LONG

#define apr_atomic_add(mem, val)     InterlockedExchangeAdd(mem,val)
#define apr_atomic_dec(mem)          InterlockedDecrement(mem)
#define apr_atomic_inc(mem)          InterlockedIncrement(mem)
#define apr_atomic_set(mem, val)     InterlockedExchange(mem, val)
#define apr_atomic_read(mem)         (*mem)
#define apr_atomic_cas(mem,with,cmp) InterlockedCompareExchange(mem,with,cmp)
#define apr_atomic_init(pool)        APR_SUCCESS
#define apr_atomic_casptr(mem,with,cmp) 
InterlockedCompareExchangePointer(mem,with,cmp)

Looks like a definition to me...  Why doesn't this work?
 
> Since there's a whole bunch of atomics that do _not_ have a
> Win32-specific implementation in apr_atomic.h, my guess is that we need
> to build apr_atomic.c on Windows.

Isn't the above the full atomics API?


Sander 'getting confused now'

Reply via email to