forked from ShuriZma/suyu
Merge pull request #4851 from ReinUsesLisp/core-threads-race
hle/kernel: Remove unused registered_core_threads to fix data races
This commit is contained in:
commit
725fcbb368
|
@ -86,8 +86,6 @@ struct KernelCore::Impl {
|
||||||
}
|
}
|
||||||
cores.clear();
|
cores.clear();
|
||||||
|
|
||||||
registered_core_threads.reset();
|
|
||||||
|
|
||||||
process_list.clear();
|
process_list.clear();
|
||||||
current_process = nullptr;
|
current_process = nullptr;
|
||||||
|
|
||||||
|
@ -199,9 +197,7 @@ struct KernelCore::Impl {
|
||||||
const auto it = std::find(register_host_thread_keys.begin(), end, this_id);
|
const auto it = std::find(register_host_thread_keys.begin(), end, this_id);
|
||||||
ASSERT(core_id < Core::Hardware::NUM_CPU_CORES);
|
ASSERT(core_id < Core::Hardware::NUM_CPU_CORES);
|
||||||
ASSERT(it == end);
|
ASSERT(it == end);
|
||||||
ASSERT(!registered_core_threads[core_id]);
|
|
||||||
InsertHostThread(static_cast<u32>(core_id));
|
InsertHostThread(static_cast<u32>(core_id));
|
||||||
registered_core_threads.set(core_id);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RegisterHostThread() {
|
void RegisterHostThread() {
|
||||||
|
@ -332,7 +328,6 @@ struct KernelCore::Impl {
|
||||||
|
|
||||||
// 0-3 IDs represent core threads, >3 represent others
|
// 0-3 IDs represent core threads, >3 represent others
|
||||||
std::atomic<u32> registered_thread_ids{Core::Hardware::NUM_CPU_CORES};
|
std::atomic<u32> registered_thread_ids{Core::Hardware::NUM_CPU_CORES};
|
||||||
std::bitset<Core::Hardware::NUM_CPU_CORES> registered_core_threads;
|
|
||||||
|
|
||||||
// Number of host threads is a relatively high number to avoid overflowing
|
// Number of host threads is a relatively high number to avoid overflowing
|
||||||
static constexpr size_t NUM_REGISTRABLE_HOST_THREADS = 64;
|
static constexpr size_t NUM_REGISTRABLE_HOST_THREADS = 64;
|
||||||
|
|
Loading…
Reference in New Issue