diff options
author | Zachary Turner <zturner@google.com> | 2014-06-16 22:39:38 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2014-06-16 22:39:38 +0000 |
commit | 9be5c8ca6bb5c91cbc23e24d8703a8e140d68397 (patch) | |
tree | f8a2ebc22725a545a708fee4e1d9c9991a1234aa /include | |
parent | 8b3a8d6343ae078a881abac4b5be067e74e5739a (diff) | |
download | llvm-9be5c8ca6bb5c91cbc23e24d8703a8e140d68397.tar.gz llvm-9be5c8ca6bb5c91cbc23e24d8703a8e140d68397.tar.bz2 llvm-9be5c8ca6bb5c91cbc23e24d8703a8e140d68397.tar.xz |
Users of the llvm global mutex must now acquire it manually.
This allows the mutex to be acquired in a guarded, RAII fashion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211066 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Support/Mutex.h | 4 | ||||
-rw-r--r-- | include/llvm/Support/Threading.h | 13 |
2 files changed, 8 insertions, 9 deletions
diff --git a/include/llvm/Support/Mutex.h b/include/llvm/Support/Mutex.h index 496a4381f3..2f3201a201 100644 --- a/include/llvm/Support/Mutex.h +++ b/include/llvm/Support/Mutex.h @@ -15,11 +15,13 @@ #define LLVM_SUPPORT_MUTEX_H #include "llvm/Support/Compiler.h" -#include "llvm/Support/Threading.h" #include <cassert> namespace llvm { + // Forward declare. + bool llvm_is_multithreaded(); + namespace sys { /// @brief Platform agnostic Mutex class. diff --git a/include/llvm/Support/Threading.h b/include/llvm/Support/Threading.h index a7e8774558..4768d86de9 100644 --- a/include/llvm/Support/Threading.h +++ b/include/llvm/Support/Threading.h @@ -14,7 +14,12 @@ #ifndef LLVM_SUPPORT_THREADING_H #define LLVM_SUPPORT_THREADING_H +#include "llvm/Support/Mutex.h" + namespace llvm { + /// llvm_get_global_lock - returns the llvm global lock object. + sys::Mutex& llvm_get_global_lock(); + /// llvm_start_multithreaded - Allocate and initialize structures needed to /// make LLVM safe for multithreading. The return value indicates whether /// multithreaded initialization succeeded. LLVM will still be operational @@ -33,14 +38,6 @@ namespace llvm { /// mode or not. bool llvm_is_multithreaded(); - /// acquire_global_lock - Acquire the global lock. This is a no-op if called - /// before llvm_start_multithreaded(). - void llvm_acquire_global_lock(); - - /// release_global_lock - Release the global lock. This is a no-op if called - /// before llvm_start_multithreaded(). - void llvm_release_global_lock(); - /// llvm_execute_on_thread - Execute the given \p UserFn on a separate /// thread, passing it the provided \p UserData. /// |