X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FSystem%2FMutex.cpp;h=8ccd6e52c4d5bbdb7ec2ec55630d8a71274890bc;hb=9ac18d562d9839e881165e8f8a25d87b9f8279e8;hp=f55dd3fe26fc6d0ea05334899be38e57445c0b19;hpb=f512281d61c10cbd2dd9797457f5809648b0677b;p=oota-llvm.git diff --git a/lib/System/Mutex.cpp b/lib/System/Mutex.cpp index f55dd3fe26f..8ccd6e52c4d 100644 --- a/lib/System/Mutex.cpp +++ b/lib/System/Mutex.cpp @@ -23,11 +23,11 @@ // Define all methods as no-ops if threading is explicitly disabled namespace llvm { using namespace sys; -Mutex::Mutex( bool recursive) { } -Mutex::~Mutex() { } -bool Mutex::acquire() { return true; } -bool Mutex::release() { return true; } -bool Mutex::tryacquire() { return true; } +MutexImpl::MutexImpl( bool recursive) { } +MutexImpl::~MutexImpl() { } +bool MutexImpl::acquire() { return true; } +bool MutexImpl::release() { return true; } +bool MutexImpl::tryacquire() { return true; } } #else @@ -55,7 +55,7 @@ using namespace sys; static const bool pthread_enabled = true; // Construct a Mutex using pthread calls -Mutex::Mutex( bool recursive) +MutexImpl::MutexImpl( bool recursive) : data_(0) { if (pthread_enabled) @@ -94,19 +94,19 @@ Mutex::Mutex( bool recursive) } // Destruct a Mutex -Mutex::~Mutex() +MutexImpl::~MutexImpl() { if (pthread_enabled) { pthread_mutex_t* mutex = static_cast(data_); assert(mutex != 0); pthread_mutex_destroy(mutex); - assert(mutex != 0); + free(mutex); } } bool -Mutex::acquire() +MutexImpl::acquire() { if (pthread_enabled) { @@ -115,12 +115,11 @@ Mutex::acquire() int errorcode = pthread_mutex_lock(mutex); return errorcode == 0; - } - return false; + } else return false; } bool -Mutex::release() +MutexImpl::release() { if (pthread_enabled) { @@ -129,12 +128,11 @@ Mutex::release() int errorcode = pthread_mutex_unlock(mutex); return errorcode == 0; - } - return false; + } else return false; } bool -Mutex::tryacquire() +MutexImpl::tryacquire() { if (pthread_enabled) { @@ -143,8 +141,7 @@ Mutex::tryacquire() int errorcode = pthread_mutex_trylock(mutex); return errorcode == 0; - } - return false; + } else return false; } }