summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/svc.cpp
diff options
context:
space:
mode:
authorGravatar bunnei2021-02-27 11:56:04 -0800
committerGravatar bunnei2021-02-27 11:56:04 -0800
commit51fb0a6f9647ba199da10fe4f018ee36e44e65ba (patch)
tree89cd2ad6dfb310587aa546bb7b9847762795f08f /src/core/hle/kernel/svc.cpp
parentMerge pull request #5953 from bunnei/memory-refactor-1 (diff)
downloadyuzu-51fb0a6f9647ba199da10fe4f018ee36e44e65ba.tar.gz
yuzu-51fb0a6f9647ba199da10fe4f018ee36e44e65ba.tar.xz
yuzu-51fb0a6f9647ba199da10fe4f018ee36e44e65ba.zip
core: Switch to unique_ptr for usage of Common::Fiber.
- With using unique_ptr instead of shared_ptr, we have more explicit ownership of the context. - Fixes a memory leak due to circular reference of the shared pointer.
Diffstat (limited to 'src/core/hle/kernel/svc.cpp')
-rw-r--r--src/core/hle/kernel/svc.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp
index cc8fa6576..d04116115 100644
--- a/src/core/hle/kernel/svc.cpp
+++ b/src/core/hle/kernel/svc.cpp
@@ -2626,8 +2626,7 @@ void Call(Core::System& system, u32 immediate) {
2626 kernel.ExitSVCProfile(); 2626 kernel.ExitSVCProfile();
2627 2627
2628 if (!thread->IsCallingSvc()) { 2628 if (!thread->IsCallingSvc()) {
2629 auto* host_context = thread->GetHostContext().get(); 2629 thread->GetHostContext()->Rewind();
2630 host_context->Rewind();
2631 } 2630 }
2632 2631
2633 system.EnterDynarmicProfile(); 2632 system.EnterDynarmicProfile();