diff options
| author | bunnei <bunneidev@gmail.com> | 2022-01-22 21:09:45 -0800 |
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2022-01-22 21:09:45 -0800 |
| commit | 59add00d4a37a8f7b1bc8b4c39e46fae35150540 (patch) | |
| tree | 2abba7ca021ee359440de7a98fa40062a06c8e7e /src/core/hle/kernel/k_process.h | |
| parent | 5b57ee66ce011bf6e73739229bf7354b02f33c1a (diff) | |
hle: kernel: KThread: Improve Increment/Decrement RunningThreadCount.
- Previously implementation was incorrect, and would occasionally underflow.
Diffstat (limited to 'src/core/hle/kernel/k_process.h')
| -rw-r--r-- | src/core/hle/kernel/k_process.h | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/core/hle/kernel/k_process.h b/src/core/hle/kernel/k_process.h index c2a672021..38b446350 100644 --- a/src/core/hle/kernel/k_process.h +++ b/src/core/hle/kernel/k_process.h @@ -235,8 +235,8 @@ public: ++schedule_count; } - void IncrementThreadCount(); - void DecrementThreadCount(); + void IncrementRunningThreadCount(); + void DecrementRunningThreadCount(); void SetRunningThread(s32 core, KThread* thread, u64 idle_count) { running_threads[core] = thread; @@ -473,9 +473,7 @@ private: bool is_suspended{}; bool is_initialized{}; - std::atomic<s32> num_created_threads{}; - std::atomic<u16> num_threads{}; - u16 peak_num_threads{}; + std::atomic<u16> num_running_threads{}; std::array<KThread*, Core::Hardware::NUM_CPU_CORES> running_threads{}; std::array<u64, Core::Hardware::NUM_CPU_CORES> running_thread_idle_counts{}; |
