diff options
| author | 2017-09-26 17:40:49 -0500 | |
|---|---|---|
| committer | 2017-09-26 17:40:49 -0500 | |
| commit | 3165466b665185ecbc3e33b02b0b90e25e7248ba (patch) | |
| tree | 1f644e47aafecb35c9b859b56e28658ef6ac26c9 /src/core/hle/svc.cpp | |
| parent | Tests: Added Memory::IsValidVirtualAddress tests. (diff) | |
| download | yuzu-3165466b665185ecbc3e33b02b0b90e25e7248ba.tar.gz yuzu-3165466b665185ecbc3e33b02b0b90e25e7248ba.tar.xz yuzu-3165466b665185ecbc3e33b02b0b90e25e7248ba.zip | |
Kernel/Thread: Allow specifying which process a thread belongs to when creating it.
Don't automatically assume that Thread::Create will only be called when the parent process is currently scheduled. This assumption will be broken when applets or system modules are loaded.
Diffstat (limited to 'src/core/hle/svc.cpp')
| -rw-r--r-- | src/core/hle/svc.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp index dfc36748c..05c6897bf 100644 --- a/src/core/hle/svc.cpp +++ b/src/core/hle/svc.cpp | |||
| @@ -656,8 +656,9 @@ static ResultCode CreateThread(Kernel::Handle* out_handle, u32 priority, u32 ent | |||
| 656 | "Newly created thread must run in the SysCore (Core1), unimplemented."); | 656 | "Newly created thread must run in the SysCore (Core1), unimplemented."); |
| 657 | } | 657 | } |
| 658 | 658 | ||
| 659 | CASCADE_RESULT(SharedPtr<Thread> thread, Kernel::Thread::Create(name, entry_point, priority, | 659 | CASCADE_RESULT(SharedPtr<Thread> thread, |
| 660 | arg, processor_id, stack_top)); | 660 | Kernel::Thread::Create(name, entry_point, priority, arg, processor_id, stack_top, |
| 661 | Kernel::g_current_process)); | ||
| 661 | 662 | ||
| 662 | thread->context.fpscr = | 663 | thread->context.fpscr = |
| 663 | FPSCR_DEFAULT_NAN | FPSCR_FLUSH_TO_ZERO | FPSCR_ROUND_TOZERO; // 0x03C00000 | 664 | FPSCR_DEFAULT_NAN | FPSCR_FLUSH_TO_ZERO | FPSCR_ROUND_TOZERO; // 0x03C00000 |