diff options
author | Feng Chen <vonchenplus@gmail.com> | 2021-09-25 16:16:21 +0200 |
---|---|---|
committer | Feng Chen <vonchenplus@gmail.com> | 2021-09-25 16:16:21 +0200 |
commit | 7cd43b139a935ed0b7bc34a31620c3ffb70c7e48 (patch) | |
tree | b461fe51dff478144c34920cd12307987fdb8eb8 /src/core | |
parent | Merge pull request #7043 from astrelsky/cmake (diff) | |
download | yuzu-7cd43b139a935ed0b7bc34a31620c3ffb70c7e48.tar yuzu-7cd43b139a935ed0b7bc34a31620c3ffb70c7e48.tar.gz yuzu-7cd43b139a935ed0b7bc34a31620c3ffb70c7e48.tar.bz2 yuzu-7cd43b139a935ed0b7bc34a31620c3ffb70c7e48.tar.lz yuzu-7cd43b139a935ed0b7bc34a31620c3ffb70c7e48.tar.xz yuzu-7cd43b139a935ed0b7bc34a31620c3ffb70c7e48.tar.zst yuzu-7cd43b139a935ed0b7bc34a31620c3ffb70c7e48.zip |
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/hle/kernel/svc.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index 62fb06c45..f98f24a60 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp @@ -320,17 +320,19 @@ static ResultCode SendSyncRequest(Core::System& system, Handle handle) { auto& kernel = system.Kernel(); - KScopedAutoObject session = - kernel.CurrentProcess()->GetHandleTable().GetObject<KClientSession>(handle); - R_UNLESS(session.IsNotNull(), ResultInvalidHandle); - LOG_TRACE(Kernel_SVC, "called handle=0x{:08X}({})", handle, session->GetName()); - auto thread = kernel.CurrentScheduler()->GetCurrentThread(); { KScopedSchedulerLock lock(kernel); thread->SetState(ThreadState::Waiting); thread->SetWaitReasonForDebugging(ThreadWaitReasonForDebugging::IPC); - session->SendSyncRequest(thread, system.Memory(), system.CoreTiming()); + + { + KScopedAutoObject session = + kernel.CurrentProcess()->GetHandleTable().GetObject<KClientSession>(handle); + R_UNLESS(session.IsNotNull(), ResultInvalidHandle); + LOG_TRACE(Kernel_SVC, "called handle=0x{:08X}({})", handle, session->GetName()); + session->SendSyncRequest(thread, system.Memory(), system.CoreTiming()); + } } KSynchronizationObject* dummy{}; |