You've already forked linux-packaging-mono
Imported Upstream version 5.18.0.205
Former-commit-id: 7f59f7e792705db773f1caecdaa823092f4e2927
This commit is contained in:
parent
5cd5df71cc
commit
8e12397d70
57
external/llvm/lib/Support/Windows/Mutex.inc
vendored
Normal file
57
external/llvm/lib/Support/Windows/Mutex.inc
vendored
Normal file
@ -0,0 +1,57 @@
|
||||
//===- llvm/Support/Win32/Mutex.inc - Win32 Mutex Implementation -*- C++ -*-===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// This file implements the Win32 specific (non-pthread) Mutex class.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
//=== WARNING: Implementation here must contain only generic Win32 code that
|
||||
//=== is guaranteed to work on *all* Win32 variants.
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "WindowsSupport.h"
|
||||
#include "llvm/Support/Mutex.h"
|
||||
|
||||
namespace llvm {
|
||||
|
||||
sys::MutexImpl::MutexImpl(bool /*recursive*/)
|
||||
{
|
||||
data_ = new CRITICAL_SECTION;
|
||||
InitializeCriticalSection((LPCRITICAL_SECTION)data_);
|
||||
}
|
||||
|
||||
sys::MutexImpl::~MutexImpl()
|
||||
{
|
||||
DeleteCriticalSection((LPCRITICAL_SECTION)data_);
|
||||
delete (LPCRITICAL_SECTION)data_;
|
||||
data_ = 0;
|
||||
}
|
||||
|
||||
bool
|
||||
sys::MutexImpl::acquire()
|
||||
{
|
||||
EnterCriticalSection((LPCRITICAL_SECTION)data_);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool
|
||||
sys::MutexImpl::release()
|
||||
{
|
||||
LeaveCriticalSection((LPCRITICAL_SECTION)data_);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool
|
||||
sys::MutexImpl::tryacquire()
|
||||
{
|
||||
return TryEnterCriticalSection((LPCRITICAL_SECTION)data_);
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user