diff options
Diffstat (limited to '')
| -rw-r--r-- | src/core/hle/kernel/thread.cpp | 6 | ||||
| -rw-r--r-- | src/core/hle/kernel/thread.h | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp index 354043c53..8e514cf9a 100644 --- a/src/core/hle/kernel/thread.cpp +++ b/src/core/hle/kernel/thread.cpp | |||
| @@ -169,7 +169,7 @@ void Thread::ResumeFromWait() { | |||
| 169 | next_scheduler->ScheduleThread(this, current_priority); | 169 | next_scheduler->ScheduleThread(this, current_priority); |
| 170 | 170 | ||
| 171 | // Change thread's scheduler | 171 | // Change thread's scheduler |
| 172 | scheduler = next_scheduler; | 172 | scheduler = next_scheduler.get(); |
| 173 | 173 | ||
| 174 | Core::System::GetInstance().CpuCore(processor_id).PrepareReschedule(); | 174 | Core::System::GetInstance().CpuCore(processor_id).PrepareReschedule(); |
| 175 | } | 175 | } |
| @@ -233,7 +233,7 @@ ResultVal<SharedPtr<Thread>> Thread::Create(KernelCore& kernel, std::string name | |||
| 233 | thread->name = std::move(name); | 233 | thread->name = std::move(name); |
| 234 | thread->callback_handle = kernel.ThreadWakeupCallbackHandleTable().Create(thread).Unwrap(); | 234 | thread->callback_handle = kernel.ThreadWakeupCallbackHandleTable().Create(thread).Unwrap(); |
| 235 | thread->owner_process = owner_process; | 235 | thread->owner_process = owner_process; |
| 236 | thread->scheduler = Core::System::GetInstance().Scheduler(processor_id); | 236 | thread->scheduler = Core::System::GetInstance().Scheduler(processor_id).get(); |
| 237 | thread->scheduler->AddThread(thread, priority); | 237 | thread->scheduler->AddThread(thread, priority); |
| 238 | thread->tls_address = thread->owner_process->MarkNextAvailableTLSSlotAsUsed(*thread); | 238 | thread->tls_address = thread->owner_process->MarkNextAvailableTLSSlotAsUsed(*thread); |
| 239 | 239 | ||
| @@ -400,7 +400,7 @@ void Thread::ChangeCore(u32 core, u64 mask) { | |||
| 400 | next_scheduler->ScheduleThread(this, current_priority); | 400 | next_scheduler->ScheduleThread(this, current_priority); |
| 401 | 401 | ||
| 402 | // Change thread's scheduler | 402 | // Change thread's scheduler |
| 403 | scheduler = next_scheduler; | 403 | scheduler = next_scheduler.get(); |
| 404 | 404 | ||
| 405 | Core::System::GetInstance().CpuCore(processor_id).PrepareReschedule(); | 405 | Core::System::GetInstance().CpuCore(processor_id).PrepareReschedule(); |
| 406 | } | 406 | } |
diff --git a/src/core/hle/kernel/thread.h b/src/core/hle/kernel/thread.h index d2b191357..c6ffbd28c 100644 --- a/src/core/hle/kernel/thread.h +++ b/src/core/hle/kernel/thread.h | |||
| @@ -419,7 +419,7 @@ private: | |||
| 419 | /// available. In case of a timeout, the object will be nullptr. | 419 | /// available. In case of a timeout, the object will be nullptr. |
| 420 | WakeupCallback wakeup_callback; | 420 | WakeupCallback wakeup_callback; |
| 421 | 421 | ||
| 422 | std::shared_ptr<Scheduler> scheduler; | 422 | Scheduler* scheduler = nullptr; |
| 423 | 423 | ||
| 424 | u32 ideal_core{0xFFFFFFFF}; | 424 | u32 ideal_core{0xFFFFFFFF}; |
| 425 | u64 affinity_mask{0x1}; | 425 | u64 affinity_mask{0x1}; |