summaryrefslogtreecommitdiffstats
path: root/contrib/libc++/src/mutex.cpp
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2012-10-22 18:25:04 +0000
committerdim <dim@FreeBSD.org>2012-10-22 18:25:04 +0000
commit708d8e446e991358da23bb52ec5320440221f12f (patch)
tree3a061d75674cd5b60d9f6df45d0b8d755da3782f /contrib/libc++/src/mutex.cpp
parentb8c74d455d2690e710a0802a98a9d310995a52eb (diff)
parent13334223d751d249ccd6475b8cba36ff71ddc972 (diff)
downloadFreeBSD-src-708d8e446e991358da23bb52ec5320440221f12f.zip
FreeBSD-src-708d8e446e991358da23bb52ec5320440221f12f.tar.gz
Import libc++ trunk r165949. Among other improvements and bug fixes,
this has many visibility problems fixed, which should help with compiling certain ports that exercise C++11 mode (i.e. Firefox). Also, belatedly add the LICENSE.TXT and accompanying CREDITS.TXT files, which are referred to in all the source files. MFC after: 1 month
Diffstat (limited to 'contrib/libc++/src/mutex.cpp')
-rw-r--r--contrib/libc++/src/mutex.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/contrib/libc++/src/mutex.cpp b/contrib/libc++/src/mutex.cpp
index 9aa051b..42195aa 100644
--- a/contrib/libc++/src/mutex.cpp
+++ b/contrib/libc++/src/mutex.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+#define _LIBCPP_BUILDING_MUTEX
#include "mutex"
#include "limits"
#include "system_error"
@@ -32,13 +33,13 @@ mutex::lock()
}
bool
-mutex::try_lock()
+mutex::try_lock() _NOEXCEPT
{
return pthread_mutex_trylock(&__m_) == 0;
}
void
-mutex::unlock()
+mutex::unlock() _NOEXCEPT
{
int ec = pthread_mutex_unlock(&__m_);
assert(ec == 0);
@@ -90,14 +91,14 @@ recursive_mutex::lock()
}
void
-recursive_mutex::unlock()
+recursive_mutex::unlock() _NOEXCEPT
{
int e = pthread_mutex_unlock(&__m_);
assert(e == 0);
}
bool
-recursive_mutex::try_lock()
+recursive_mutex::try_lock() _NOEXCEPT
{
return pthread_mutex_trylock(&__m_) == 0;
}
@@ -124,7 +125,7 @@ timed_mutex::lock()
}
bool
-timed_mutex::try_lock()
+timed_mutex::try_lock() _NOEXCEPT
{
unique_lock<mutex> lk(__m_, try_to_lock);
if (lk.owns_lock() && !__locked_)
@@ -136,7 +137,7 @@ timed_mutex::try_lock()
}
void
-timed_mutex::unlock()
+timed_mutex::unlock() _NOEXCEPT
{
lock_guard<mutex> _(__m_);
__locked_ = false;
@@ -175,7 +176,7 @@ recursive_timed_mutex::lock()
}
bool
-recursive_timed_mutex::try_lock()
+recursive_timed_mutex::try_lock() _NOEXCEPT
{
pthread_t id = pthread_self();
unique_lock<mutex> lk(__m_, try_to_lock);
@@ -191,7 +192,7 @@ recursive_timed_mutex::try_lock()
}
void
-recursive_timed_mutex::unlock()
+recursive_timed_mutex::unlock() _NOEXCEPT
{
unique_lock<mutex> lk(__m_);
if (--__count_ == 0)
OpenPOWER on IntegriCloud