diff --git a/Utilities/Thread.cpp b/Utilities/Thread.cpp index d8660003a8..3615ef19fc 100644 --- a/Utilities/Thread.cpp +++ b/Utilities/Thread.cpp @@ -1722,8 +1722,6 @@ DECLARE(thread_ctrl::g_native_core_layout) { native_core_arrangement::undefined void thread_base::start(native_entry entry) { - thread_ctrl::g_thread_count++; - #ifdef _WIN32 m_thread = ::_beginthreadex(nullptr, 0, entry, this, CREATE_SUSPENDED, nullptr); verify("thread_ctrl::start" HERE), m_thread, ::ResumeThread(reinterpret_cast(+m_thread)) != -1; @@ -1871,7 +1869,6 @@ void thread_base::finalize() noexcept { g_tls_log_prefix = []() -> std::string { return {}; }; thread_ctrl::g_tls_this_thread = nullptr; - thread_ctrl::g_thread_count--; } void thread_ctrl::_wait_for(u64 usec, bool alert /* true */) diff --git a/Utilities/Thread.h b/Utilities/Thread.h index 553faa84c2..153eb4c008 100644 --- a/Utilities/Thread.h +++ b/Utilities/Thread.h @@ -171,9 +171,6 @@ class thread_ctrl final // Target cpu core layout static atomic_t g_native_core_layout; - // Global thread counter - static inline atomic_t g_thread_count = 0; - // Internal waiting function, may throw. Infinite value is -1. static void _wait_for(u64 usec, bool alert); @@ -260,11 +257,6 @@ public: return g_tls_this_thread; } - static u64 get_count() - { - return g_thread_count.load(); - } - // Detect layout static void detect_cpu_layout(); diff --git a/rpcs3/Emu/System.cpp b/rpcs3/Emu/System.cpp index c6329e684b..5bbf4e48f0 100644 --- a/rpcs3/Emu/System.cpp +++ b/rpcs3/Emu/System.cpp @@ -1638,12 +1638,6 @@ void Emulator::Stop(bool restart) cpu_thread::stop_all(); g_fxo->reset(); - while (u32 x = thread_ctrl::get_count()) - { - sys_log.fatal("Waiting for %u threads...", x); - std::this_thread::sleep_for(300ms); - } - sys_log.notice("All threads have been stopped."); lv2_obj::cleanup();