diff options
author | Jeff Cohen <jeffc@jolt-lang.org> | 2005-07-13 02:15:18 +0000 |
---|---|---|
committer | Jeff Cohen <jeffc@jolt-lang.org> | 2005-07-13 02:15:18 +0000 |
commit | 6d2352249af8853c8307a7cf679017b32d27958c (patch) | |
tree | e3fcf758ddf54cbe8d1106dac4fefc811a57d006 /lib/System/Win32/Mutex.inc | |
parent | c087a435109cdc943da094a21371f7d66d5b0e54 (diff) | |
download | external_llvm-6d2352249af8853c8307a7cf679017b32d27958c.zip external_llvm-6d2352249af8853c8307a7cf679017b32d27958c.tar.gz external_llvm-6d2352249af8853c8307a7cf679017b32d27958c.tar.bz2 |
Win32 support for Mutex class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22420 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/System/Win32/Mutex.inc')
-rw-r--r-- | lib/System/Win32/Mutex.inc | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/lib/System/Win32/Mutex.inc b/lib/System/Win32/Mutex.inc index d6acb23..439ce1a 100644 --- a/lib/System/Win32/Mutex.inc +++ b/lib/System/Win32/Mutex.inc @@ -2,7 +2,7 @@ // // The LLVM Compiler Infrastructure // -// This file was developed by Reid Spencer and is distributed under the +// This file was developed by Jeff Cohen and is distributed under the // University of Illinois Open Source License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// @@ -16,31 +16,42 @@ //=== is guaranteed to work on *all* Win32 variants. //===----------------------------------------------------------------------===// -namespace llvm -{ +#include "Win32.h" +#include "llvm/System/Mutex.h" + +namespace llvm { using namespace sys; -Mutex::Mutex( bool recursive) +Mutex::Mutex(bool /*recursive*/) { + data_ = new CRITICAL_SECTION; + InitializeCriticalSection((LPCRITICAL_SECTION)data_); } Mutex::~Mutex() { + DeleteCriticalSection((LPCRITICAL_SECTION)data_); + data_ = 0; } bool Mutex::acquire() { + EnterCriticalSection((LPCRITICAL_SECTION)data_); + return true; } bool Mutex::release() { + LeaveCriticalSection((LPCRITICAL_SECTION)data_); + return true; } bool -Mutex::tryacquire( void ) +Mutex::tryacquire() { + return TryEnterCriticalSection((LPCRITICAL_SECTION)data_); } } |