diff options
| author | 2021-03-05 00:13:29 -0800 | |
|---|---|---|
| committer | 2021-03-05 17:10:57 -0800 | |
| commit | 47af34003b97a27ee8456cedb367b41f8687b517 (patch) | |
| tree | 5e28f986f365d7f441997c3c7e5be8f61013e72b /src/core/hle/kernel/process.cpp | |
| parent | Merge pull request #6039 from yuzu-emu/revert-6006-fiber-unique-ptr (diff) | |
| download | yuzu-47af34003b97a27ee8456cedb367b41f8687b517.tar.gz yuzu-47af34003b97a27ee8456cedb367b41f8687b517.tar.xz yuzu-47af34003b97a27ee8456cedb367b41f8687b517.zip | |
hle: kernel: KThread: Rework dummy threads & fix memory leak.
- Dummy threads are created on thread local storage for all host threads.
- Fixes a leak by removing creation of fibers, which are not applicable here.
Diffstat (limited to 'src/core/hle/kernel/process.cpp')
| -rw-r--r-- | src/core/hle/kernel/process.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/core/hle/kernel/process.cpp b/src/core/hle/kernel/process.cpp index 73b85d6f9..9d5956ead 100644 --- a/src/core/hle/kernel/process.cpp +++ b/src/core/hle/kernel/process.cpp | |||
| @@ -40,8 +40,9 @@ namespace { | |||
| 40 | void SetupMainThread(Core::System& system, Process& owner_process, u32 priority, VAddr stack_top) { | 40 | void SetupMainThread(Core::System& system, Process& owner_process, u32 priority, VAddr stack_top) { |
| 41 | const VAddr entry_point = owner_process.PageTable().GetCodeRegionStart(); | 41 | const VAddr entry_point = owner_process.PageTable().GetCodeRegionStart(); |
| 42 | ASSERT(owner_process.GetResourceLimit()->Reserve(LimitableResource::Threads, 1)); | 42 | ASSERT(owner_process.GetResourceLimit()->Reserve(LimitableResource::Threads, 1)); |
| 43 | auto thread_res = KThread::Create(system, ThreadType::User, "main", entry_point, priority, 0, | 43 | auto thread_res = |
| 44 | owner_process.GetIdealCoreId(), stack_top, &owner_process); | 44 | KThread::CreateUserThread(system, ThreadType::User, "main", entry_point, priority, 0, |
| 45 | owner_process.GetIdealCoreId(), stack_top, &owner_process); | ||
| 45 | 46 | ||
| 46 | std::shared_ptr<KThread> thread = std::move(thread_res).Unwrap(); | 47 | std::shared_ptr<KThread> thread = std::move(thread_res).Unwrap(); |
| 47 | 48 | ||