diff options
author | Lioncash <mathew1800@gmail.com> | 2019-04-14 12:06:04 +0200 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2019-04-14 12:06:06 +0200 |
commit | 09caf8a7562c15a6562532e2e946a9a08ac246f7 (patch) | |
tree | e24a583b73e376f70c7ca600da4b923bf8caba51 /src | |
parent | Merge pull request #2378 from lioncash/ro (diff) | |
download | yuzu-09caf8a7562c15a6562532e2e946a9a08ac246f7.tar yuzu-09caf8a7562c15a6562532e2e946a9a08ac246f7.tar.gz yuzu-09caf8a7562c15a6562532e2e946a9a08ac246f7.tar.bz2 yuzu-09caf8a7562c15a6562532e2e946a9a08ac246f7.tar.lz yuzu-09caf8a7562c15a6562532e2e946a9a08ac246f7.tar.xz yuzu-09caf8a7562c15a6562532e2e946a9a08ac246f7.tar.zst yuzu-09caf8a7562c15a6562532e2e946a9a08ac246f7.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/kernel/process.cpp | 5 | ||||
-rw-r--r-- | src/core/hle/kernel/svc.cpp | 11 | ||||
-rw-r--r-- | src/core/hle/kernel/thread.h | 7 |
3 files changed, 7 insertions, 16 deletions
diff --git a/src/core/hle/kernel/process.cpp b/src/core/hle/kernel/process.cpp index 4e94048da..8b2b3877d 100644 --- a/src/core/hle/kernel/process.cpp +++ b/src/core/hle/kernel/process.cpp @@ -40,9 +40,8 @@ void SetupMainThread(Process& owner_process, KernelCore& kernel, VAddr entry_poi SharedPtr<Thread> thread = std::move(thread_res).Unwrap(); // Register 1 must be a handle to the main thread - const Handle guest_handle = owner_process.GetHandleTable().Create(thread).Unwrap(); - thread->SetGuestHandle(guest_handle); - thread->GetContext().cpu_registers[1] = guest_handle; + const Handle thread_handle = owner_process.GetHandleTable().Create(thread).Unwrap(); + thread->GetContext().cpu_registers[1] = thread_handle; // Threads by default are dormant, wake up the main thread so it runs when the scheduler fires thread->ResumeFromWait(); diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index e5d4d6b55..f57677636 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp @@ -1250,14 +1250,13 @@ static ResultCode CreateThread(Core::System& system, Handle* out_handle, VAddr e Thread::Create(kernel, name, entry_point, priority, arg, processor_id, stack_top, *current_process)); - const auto new_guest_handle = current_process->GetHandleTable().Create(thread); - if (new_guest_handle.Failed()) { + const auto new_thread_handle = current_process->GetHandleTable().Create(thread); + if (new_thread_handle.Failed()) { LOG_ERROR(Kernel_SVC, "Failed to create handle with error=0x{:X}", - new_guest_handle.Code().raw); - return new_guest_handle.Code(); + new_thread_handle.Code().raw); + return new_thread_handle.Code(); } - thread->SetGuestHandle(*new_guest_handle); - *out_handle = *new_guest_handle; + *out_handle = *new_thread_handle; system.CpuCore(thread->GetProcessorID()).PrepareReschedule(); diff --git a/src/core/hle/kernel/thread.h b/src/core/hle/kernel/thread.h index 83c83e45a..e14b84a81 100644 --- a/src/core/hle/kernel/thread.h +++ b/src/core/hle/kernel/thread.h @@ -345,10 +345,6 @@ public: arb_wait_address = address; } - void SetGuestHandle(Handle handle) { - guest_handle = handle; - } - bool HasWakeupCallback() const { return wakeup_callback != nullptr; } @@ -442,9 +438,6 @@ private: /// If waiting for an AddressArbiter, this is the address being waited on. VAddr arb_wait_address{0}; - /// Handle used by guest emulated application to access this thread - Handle guest_handle = 0; - /// Handle used as userdata to reference this object when inserting into the CoreTiming queue. Handle callback_handle = 0; |