2010-04-07 Rodrigo Kumpera <rkumpera@novell.com>
[mono.git] / mono / io-layer / mono-spinlock.h
blob4c2cd80c331e0888ef7eb032c858fb4497f8f3b6
1 /*
2 * mono-spinlock.h: Lightweight spinlocks, for internal use only
4 * Author:
5 * Dick Porter (dick@ximian.com)
7 * (C) 2002 Ximian, Inc.
8 * Copyright (c) 2002-2006 Novell, Inc.
9 */
11 #ifndef _WAPI_MONO_SPINLOCK_H_
12 #define _WAPI_MONO_SPINLOCK_H_
14 #include <glib.h>
16 #include <mono/io-layer/wapi.h>
18 #define MONO_SPIN_LOCK(lock) while((InterlockedCompareExchange((gint32 *)&lock, 1, 0))!=0)
19 #define MONO_SPIN_UNLOCK(lock) lock=0
21 #endif /* _WAPI_MONO_SPINLOCK_H_ */