blob: 59e3e1d9cc5735b3bce2e4a2b54b54d62194d7e0 [file] [log] [blame]
#include <intrin.h>
long _InterlockedExchange(long volatile *Target, long Value)
{
__asm__ __volatile("lock ; xchgl %0,%1"
: "=r"(Value)
: "m"(*Target),"0"(Value)
: "memory");
return Value;
}
long InterlockedExchange(long volatile *, long) __attribute__((alias("_InterlockedExchange")));