diff options
author | ShadowNinja <ShadowNinja@users.noreply.github.com> | 2017-06-11 03:43:05 -0400 |
---|---|---|
committer | Loïc Blot <nerzhul@users.noreply.github.com> | 2017-06-11 09:43:05 +0200 |
commit | 6c5e5e202394ce8063e3c2d9b663145bc4f8efce (patch) | |
tree | 2916ed7f7fc19c934fe5f614a9eeb1a282f13081 /src/script/cpp_api | |
parent | 5cc8ad946efb3612eb6ea8655780b29fe4c62e19 (diff) | |
download | minetest-6c5e5e202394ce8063e3c2d9b663145bc4f8efce.tar.gz minetest-6c5e5e202394ce8063e3c2d9b663145bc4f8efce.tar.bz2 minetest-6c5e5e202394ce8063e3c2d9b663145bc4f8efce.zip |
Remove threads.h and replace its definitions with their C++11 equivalents (#5957)
This also changes threadProc's signature, since C++11 supports arbitrary
thread function signatures.
Diffstat (limited to 'src/script/cpp_api')
-rw-r--r-- | src/script/cpp_api/s_base.h | 4 | ||||
-rw-r--r-- | src/script/cpp_api/s_internal.h | 16 |
2 files changed, 11 insertions, 9 deletions
diff --git a/src/script/cpp_api/s_base.h b/src/script/cpp_api/s_base.h index eda4e73ac..ed056db31 100644 --- a/src/script/cpp_api/s_base.h +++ b/src/script/cpp_api/s_base.h @@ -22,6 +22,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include <iostream> #include <string> +#include <thread> #include "util/basic_macros.h" extern "C" { @@ -29,7 +30,6 @@ extern "C" { } #include "irrlichttypes.h" -#include "threads.h" #include "threading/mutex_auto_lock.h" #include "common/c_types.h" #include "common/c_internal.h" @@ -122,7 +122,7 @@ protected: bool m_secure; #ifdef SCRIPTAPI_LOCK_DEBUG int m_lock_recursion_count; - threadid_t m_owning_thread; + std::thread::id m_owning_thread; #endif private: diff --git a/src/script/cpp_api/s_internal.h b/src/script/cpp_api/s_internal.h index 37473c497..315561e08 100644 --- a/src/script/cpp_api/s_internal.h +++ b/src/script/cpp_api/s_internal.h @@ -27,6 +27,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #ifndef S_INTERNAL_H_ #define S_INTERNAL_H_ +#include <thread> #include "common/c_internal.h" #include "cpp_api/s_base.h" @@ -35,23 +36,24 @@ with this program; if not, write to the Free Software Foundation, Inc., class LockChecker { public: - LockChecker(int *recursion_counter, threadid_t *owning_thread) + LockChecker(int *recursion_counter, std::thread::id *owning_thread) { m_lock_recursion_counter = recursion_counter; m_owning_thread = owning_thread; m_original_level = *recursion_counter; - if (*m_lock_recursion_counter > 0) - assert(thr_is_current_thread(*m_owning_thread)); - else - *m_owning_thread = thr_get_current_thread_id(); + if (*m_lock_recursion_counter > 0) { + assert(*m_owning_thread == std::this_thread::get_id()); + } else { + *m_owning_thread = std::this_thread::get_id(); + } (*m_lock_recursion_counter)++; } ~LockChecker() { - assert(thr_is_current_thread(*m_owning_thread)); + assert(*m_owning_thread == std::this_thread::get_id()); assert(*m_lock_recursion_counter > 0); (*m_lock_recursion_counter)--; @@ -62,7 +64,7 @@ public: private: int *m_lock_recursion_counter; int m_original_level; - threadid_t *m_owning_thread; + std::thread::id *m_owning_thread; }; #define SCRIPTAPI_LOCK_CHECK \ |