diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2015-01-15 21:17:36 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2015-01-15 21:17:36 +0000 | 
| commit | d72607e9e28bcdeca1cb370dd3bf119c7853576f (patch) | |
| tree | c7ef11e9501df78a928c64bb92aa05baf56f5808 /contrib/libc++/src/algorithm.cpp | |
| parent | f7e6516a1f4099194f051c570a3301dae90729da (diff) | |
| parent | f857581820d15e410e9945d2fcd5f7163be25a96 (diff) | |
Notes
Diffstat (limited to 'contrib/libc++/src/algorithm.cpp')
| -rw-r--r-- | contrib/libc++/src/algorithm.cpp | 9 | 
1 files changed, 8 insertions, 1 deletions
diff --git a/contrib/libc++/src/algorithm.cpp b/contrib/libc++/src/algorithm.cpp index 10c4c3312599..e548856ff6e1 100644 --- a/contrib/libc++/src/algorithm.cpp +++ b/contrib/libc++/src/algorithm.cpp @@ -7,7 +7,6 @@  //  //===----------------------------------------------------------------------===// -#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;  #include "algorithm"  #include "random"  #include "mutex" @@ -48,12 +47,16 @@ template bool __insertion_sort_incomplete<__less<long double>&, long double*>(lo  template unsigned __sort5<__less<long double>&, long double*>(long double*, long double*, long double*, long double*, long double*, __less<long double>&); +#ifndef _LIBCPP_HAS_NO_THREADS  static pthread_mutex_t __rs_mut = PTHREAD_MUTEX_INITIALIZER; +#endif  unsigned __rs_default::__c_ = 0;  __rs_default::__rs_default()  { +#ifndef _LIBCPP_HAS_NO_THREADS      pthread_mutex_lock(&__rs_mut); +#endif      __c_ = 1;  } @@ -64,8 +67,12 @@ __rs_default::__rs_default(const __rs_default&)  __rs_default::~__rs_default()  { +#ifndef _LIBCPP_HAS_NO_THREADS      if (--__c_ == 0)          pthread_mutex_unlock(&__rs_mut); +#else +    --__c_; +#endif  }  __rs_default::result_type  | 
