From: kr.angelov@gmail.com Date: Wed, 22 Feb 2006 20:17:21 +0000 (+0000) Subject: support LOCK_DEBUG for Windows X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=3d9ae0ef3505f158b8ed1e2c8d655a581074d3a2 support LOCK_DEBUG for Windows --- diff --git a/ghc/includes/OSThreads.h b/ghc/includes/OSThreads.h index 40c260b..9043144 100644 --- a/ghc/includes/OSThreads.h +++ b/ghc/includes/OSThreads.h @@ -90,6 +90,19 @@ typedef DWORD ThreadLocalKey; #if USE_CRITICAL_SECTIONS typedef CRITICAL_SECTION Mutex; + +#ifdef LOCK_DEBUG + +#define ACQUIRE_LOCK(mutex) \ + debugBelch("ACQUIRE_LOCK(0x%p) %s %d\n", mutex,__FILE__,__LINE__); \ + EnterCriticalSection(mutex) +#define RELEASE_LOCK(mutex) \ + debugBelch("RELEASE_LOCK(0x%p) %s %d\n", mutex,__FILE__,__LINE__); \ + LeaveCriticalSection(mutex) +#define ASSERT_LOCK_HELD(mutex) /* nothing */ + +#else + #define ACQUIRE_LOCK(mutex) EnterCriticalSection(mutex) #define RELEASE_LOCK(mutex) LeaveCriticalSection(mutex) @@ -97,6 +110,8 @@ typedef CRITICAL_SECTION Mutex; // the right thing. #define ASSERT_LOCK_HELD(mutex) /* nothing */ +#endif + #else typedef HANDLE Mutex;