From 6c5e5e202394ce8063e3c2d9b663145bc4f8efce Mon Sep 17 00:00:00 2001 From: ShadowNinja Date: Sun, 11 Jun 2017 03:43:05 -0400 Subject: 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. --- src/script/cpp_api/s_base.h | 4 ++-- src/script/cpp_api/s_internal.h | 16 +++++++++------- 2 files changed, 11 insertions(+), 9 deletions(-) (limited to 'src/script') 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 #include +#include #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 #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 \ -- cgit v1.2.3