diff options
| author | Eric Fiselier <eric@efcs.ca> | 2017-01-14 10:27:12 +0000 |
|---|---|---|
| committer | Eric Fiselier <eric@efcs.ca> | 2017-01-14 10:27:12 +0000 |
| commit | 08e1477ccbddb7fdf9998514c53844ef5db2f6e7 (patch) | |
| tree | 431d695ce076be24b34b97a5ebb3af88cdf65f96 /libcxx/include/__threading_support | |
| parent | 666c64b155db7c0d6001c29b12d9c4ed49c26198 (diff) | |
| download | bcm5719-llvm-08e1477ccbddb7fdf9998514c53844ef5db2f6e7.tar.gz bcm5719-llvm-08e1477ccbddb7fdf9998514c53844ef5db2f6e7.zip | |
Fix Windows try_lock implementation
llvm-svn: 292011
Diffstat (limited to 'libcxx/include/__threading_support')
| -rw-r--r-- | libcxx/include/__threading_support | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/libcxx/include/__threading_support b/libcxx/include/__threading_support index a672a9f80ed..c8ce331cdc0 100644 --- a/libcxx/include/__threading_support +++ b/libcxx/include/__threading_support @@ -102,7 +102,7 @@ _LIBCPP_THREAD_ABI_VISIBILITY int __libcpp_recursive_mutex_lock(__libcpp_recursive_mutex_t *__m); _LIBCPP_THREAD_ABI_VISIBILITY -int __libcpp_recursive_mutex_trylock(__libcpp_recursive_mutex_t *__m); +bool __libcpp_recursive_mutex_trylock(__libcpp_recursive_mutex_t *__m); _LIBCPP_THREAD_ABI_VISIBILITY int __libcpp_recursive_mutex_unlock(__libcpp_recursive_mutex_t *__m); @@ -114,7 +114,7 @@ _LIBCPP_THREAD_ABI_VISIBILITY int __libcpp_mutex_lock(__libcpp_mutex_t *__m); _LIBCPP_THREAD_ABI_VISIBILITY -int __libcpp_mutex_trylock(__libcpp_mutex_t *__m); +bool __libcpp_mutex_trylock(__libcpp_mutex_t *__m); _LIBCPP_THREAD_ABI_VISIBILITY int __libcpp_mutex_unlock(__libcpp_mutex_t *__m); @@ -221,9 +221,9 @@ int __libcpp_recursive_mutex_lock(__libcpp_recursive_mutex_t *__m) return pthread_mutex_lock(__m); } -int __libcpp_recursive_mutex_trylock(__libcpp_recursive_mutex_t *__m) +bool __libcpp_recursive_mutex_trylock(__libcpp_recursive_mutex_t *__m) { - return pthread_mutex_trylock(__m); + return pthread_mutex_trylock(__m) == 0; } int __libcpp_recursive_mutex_unlock(__libcpp_mutex_t *__m) @@ -241,9 +241,9 @@ int __libcpp_mutex_lock(__libcpp_mutex_t *__m) return pthread_mutex_lock(__m); } -int __libcpp_mutex_trylock(__libcpp_mutex_t *__m) +bool __libcpp_mutex_trylock(__libcpp_mutex_t *__m) { - return pthread_mutex_trylock(__m); + return pthread_mutex_trylock(__m) == 0; } int __libcpp_mutex_unlock(__libcpp_mutex_t *__m) @@ -371,10 +371,9 @@ int __libcpp_recursive_mutex_lock(__libcpp_recursive_mutex_t *__m) return 0; } -int __libcpp_recursive_mutex_trylock(__libcpp_recursive_mutex_t *__m) +bool __libcpp_recursive_mutex_trylock(__libcpp_recursive_mutex_t *__m) { - TryEnterCriticalSection(__m); - return 0; + return TryEnterCriticalSection(__m) != 0; } int __libcpp_recursive_mutex_unlock(__libcpp_recursive_mutex_t *__m) @@ -395,10 +394,9 @@ int __libcpp_mutex_lock(__libcpp_mutex_t *__m) return 0; } -int __libcpp_mutex_trylock(__libcpp_mutex_t *__m) +bool __libcpp_mutex_trylock(__libcpp_mutex_t *__m) { - TryAcquireSRWLockExclusive(__m); - return 0; + return TryAcquireSRWLockExclusive(__m) != 0; } int __libcpp_mutex_unlock(__libcpp_mutex_t *__m) |

