Author: sginsberg Date: Sun Jul 26 18:18:56 2009 New Revision: 42235
URL: http://svn.reactos.org/svn/reactos?rev=42235&view=rev Log: - Revert winbase.h interlocked intrinsic change for now *sigh*
Modified: trunk/reactos/include/psdk/winbase.h
Modified: trunk/reactos/include/psdk/winbase.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/winbase.h?rev=... ============================================================================== --- trunk/reactos/include/psdk/winbase.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/winbase.h [iso-8859-1] Sun Jul 26 18:18:56 2009 @@ -1835,52 +1835,6 @@ #define InterlockedCompareExchangeAcquire64 InterlockedCompareExchange64 #define InterlockedCompareExchangeRelease64 InterlockedCompareExchange64
-#if !defined(InterlockedAnd) -#define InterlockedAnd InterlockedAnd_Inline -FORCEINLINE -LONG -InterlockedAnd_Inline(IN OUT volatile LONG *Target, - IN LONG Set) -{ - LONG i; - LONG j; - - j = *Target; - do { - i = j; - j = _InterlockedCompareExchange((volatile long *)Target, - i & Set, - i); - - } while (i != j); - - return j; -} -#endif - -#if !defined(InterlockedOr) -#define InterlockedOr InterlockedOr_Inline -FORCEINLINE -LONG -InterlockedOr_Inline(IN OUT volatile LONG *Target, - IN LONG Set) -{ - LONG i; - LONG j; - - j = *Target; - do { - i = j; - j = _InterlockedCompareExchange((volatile long *)Target, - i | Set, - i); - - } while (i != j); - - return j; -} -#endif - #else // !(defined (_M_AMD64) || defined (_M_IA64))
LONG WINAPI InterlockedOr(IN OUT LONG volatile *,LONG); @@ -1917,6 +1871,52 @@
VOID WINAPI InitializeSListHead(PSLIST_HEADER); USHORT WINAPI QueryDepthSList(PSLIST_HEADER); + +#if !defined(InterlockedAnd) +#define InterlockedAnd InterlockedAnd_Inline +FORCEINLINE +LONG +InterlockedAnd_Inline(IN OUT volatile LONG *Target, + IN LONG Set) +{ + LONG i; + LONG j; + + j = *Target; + do { + i = j; + j = _InterlockedCompareExchange((volatile long *)Target, + i & Set, + i); + + } while (i != j); + + return j; +} +#endif + +#if !defined(InterlockedOr) +#define InterlockedOr InterlockedOr_Inline +FORCEINLINE +LONG +InterlockedOr_Inline(IN OUT volatile LONG *Target, + IN LONG Set) +{ + LONG i; + LONG j; + + j = *Target; + do { + i = j; + j = _InterlockedCompareExchange((volatile long *)Target, + i | Set, + i); + + } while (i != j); + + return j; +} +#endif
#endif /* __INTERLOCKED_DECLARED */