37#if (__cplusplus > 199711L) || (defined(_MSC_VER) && _MSC_VER >= 1800)
40 #if defined(_WIN32) || defined(_WIN64)
43 #define WIN32_LEAN_AND_MEAN
46 #undef WIN32_LEAN_AND_MEAN
52 #pragma intrinsic(_ReadWriteBarrier)
57#include "../util_namespace.cuh"
74#if (__cplusplus > 199711L) || (defined(_MSC_VER) && _MSC_VER >= 1800)
98 typedef long Spinlock;
103 typedef int Spinlock;
110 __sync_synchronize();
120 return __sync_lock_test_and_set(Target, Value);
Optional outer namespace(s)
__forceinline__ void Unlock()
volatile Spinlock lock
Lock member.
__forceinline__ void Lock()
__forceinline__ void _ReadWriteBarrier()
__forceinline__ long _InterlockedExchange(volatile int *const Target, const int Value)
__forceinline__ void YieldProcessor()