X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Flock-tracer.h;h=2f1a9ef0265e43dfc07184cce43d159a8c64631c;hb=HEAD;hp=82e29ad5ffa824c959a3219b73541276de8ee810;hpb=addc8c1b857b98065af41976874f29533c5277d9;p=mono.git diff --git a/mono/metadata/lock-tracer.h b/mono/metadata/lock-tracer.h index 82e29ad5ffa..2f1a9ef0265 100644 --- a/mono/metadata/lock-tracer.h +++ b/mono/metadata/lock-tracer.h @@ -1,10 +1,15 @@ +/** + * \file + */ + #ifndef __MONO_METADATA_LOCK_TRACER_H__ #define __MONO_METADATA_LOCK_TRACER_H__ /*This is a private header*/ #include -#include "mono/utils/mono-compiler.h" +#include "mono/utils/mono-os-mutex.h" +#include "mono/utils/mono-coop-mutex.h" G_BEGIN_DECLS @@ -19,7 +24,8 @@ typedef enum { AssemblyBindingLock, MarshalLock, ClassesLock, - LoaderGlobalDataLock + LoaderGlobalDataLock, + ThreadsLock, } RuntimeLocks; #ifdef LOCK_TRACER @@ -38,25 +44,30 @@ void mono_locks_lock_released (RuntimeLocks kind, gpointer lock); #endif -#define mono_locks_acquire(LOCK, NAME) do { \ - mono_mutex_lock (LOCK); \ - mono_locks_lock_acquired (NAME, LOCK); \ -} while (0) - -#define mono_locks_release(LOCK, NAME) do { \ - mono_locks_lock_released (NAME, LOCK); \ - mono_mutex_unlock (LOCK); \ -} while (0) - -#define mono_locks_mutex_acquire(LOCK, NAME) do { \ - mono_mutex_lock (LOCK); \ - mono_locks_lock_acquired (NAME, LOCK); \ -} while (0) - -#define mono_locks_mutex_release(LOCK, NAME) do { \ - mono_locks_lock_released (NAME, LOCK); \ - mono_mutex_unlock (LOCK); \ -} while (0) +#define mono_locks_os_acquire(LOCK,NAME) \ + do { \ + mono_os_mutex_lock (LOCK); \ + mono_locks_lock_acquired (NAME, LOCK); \ + } while (0) + +#define mono_locks_os_release(LOCK,NAME) \ + do { \ + mono_locks_lock_released (NAME, LOCK); \ + mono_os_mutex_unlock (LOCK); \ + } while (0) + +#define mono_locks_coop_acquire(LOCK,NAME) \ + do { \ + mono_coop_mutex_lock (LOCK); \ + mono_locks_lock_acquired (NAME, LOCK); \ + } while (0) + +#define mono_locks_coop_release(LOCK,NAME) \ + do { \ + mono_locks_lock_released (NAME, LOCK); \ + mono_coop_mutex_unlock (LOCK); \ + } while (0) + G_END_DECLS #endif /* __MONO_METADATA_LOCK_TRACER_H__ */