From 104c3016582561ec1e0f4481e59e574deb8ab0a8 Mon Sep 17 00:00:00 2001 From: Jesse Natalie Date: Fri, 8 Jul 2022 11:15:13 -0700 Subject: [PATCH] u_atomic: Implement p_atomic_xchg for Windows MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Reviewed-by: Yonggang Luo Reviewed-by: Marek Olšák Part-of: --- src/util/u_atomic.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/util/u_atomic.h b/src/util/u_atomic.h index c1936a5..f9570e8 100644 --- a/src/util/u_atomic.h +++ b/src/util/u_atomic.h @@ -166,6 +166,12 @@ sizeof *(_v) == sizeof(__int64) ? InterlockedCompareExchange64 ((__int64 *)(_v), (__int64)(_new), (__int64)(_old)) : \ (assert(!"should not get here"), 0)) +#define PIPE_NATIVE_ATOMIC_XCHG +#define p_atomic_xchg(_v, _new) (\ + sizeof *(_v) == sizeof(long) ? InterlockedExchange ((long *) (_v), (long) (_new)) : \ + sizeof *(_v) == sizeof(__int64) ? InterlockedExchange64((__int64 *)(_v), (__int64)(_new)) : \ + (assert(!"should not get here"), 0)) + #endif #if defined(PIPE_ATOMIC_OS_SOLARIS) -- 2.7.4