# HG changeset patch # User Gopu Govindaswamy <[email protected]> # Date 1422867856 -19800 # Mon Feb 02 14:34:16 2015 +0530 # Node ID 92bce6fdd447ef03a2e9245969739d58ecc3a2e9 # Parent db56dc779466c5b54a55b5dadbcd04e882011729 threading: use InterlockedExchangeAdd for ATOMIC_ADD
This patch is to fix the build error in 32 bit compiler, the 32 bit compiler will not support for InterlockedAdd insted use InterlockedExchangeAdd, this is also adds a value to the target variable, diff -r db56dc779466 -r 92bce6fdd447 source/common/threading.h --- a/source/common/threading.h Mon Feb 02 10:23:10 2015 +0530 +++ b/source/common/threading.h Mon Feb 02 14:34:16 2015 +0530 @@ -64,7 +64,7 @@ #define CTZ(id, x) _BitScanForward(&id, x) #define ATOMIC_INC(ptr) InterlockedIncrement((volatile LONG*)ptr) #define ATOMIC_DEC(ptr) InterlockedDecrement((volatile LONG*)ptr) -#define ATOMIC_ADD(ptr, value) InterlockedAdd((volatile LONG*)ptr, value) +#define ATOMIC_ADD(ptr, value) InterlockedExchangeAdd((volatile LONG*)ptr, value) #define ATOMIC_OR(ptr, mask) _InterlockedOr((volatile LONG*)ptr, (LONG)mask) #define ATOMIC_AND(ptr, mask) _InterlockedAnd((volatile LONG*)ptr, (LONG)mask) #define GIVE_UP_TIME() Sleep(0) _______________________________________________ x265-devel mailing list [email protected] https://mailman.videolan.org/listinfo/x265-devel
