diff options
author | pineappleEA <pineaea@gmail.com> | 2021-05-21 08:34:19 +0200 |
---|---|---|
committer | pineappleEA <pineaea@gmail.com> | 2021-05-21 08:34:19 +0200 |
commit | 0ac1837ecc869a05911706a2e96c3f76295cc295 (patch) | |
tree | 45a9387cfbe5324fca9e143f300d9bc2d2a8a0ad | |
parent | 9256601d27291619dffaabd802cc8b4bb190b2cd (diff) |
early-access version 1702EA-1702
-rwxr-xr-x | README.md | 2 | ||||
-rwxr-xr-x | src/core/hle/kernel/service_thread.cpp | 14 |
2 files changed, 6 insertions, 10 deletions
@@ -1,7 +1,7 @@ | |||
1 | yuzu emulator early access | 1 | yuzu emulator early access |
2 | ============= | 2 | ============= |
3 | 3 | ||
4 | This is the source code for early-access 1701. | 4 | This is the source code for early-access 1702. |
5 | 5 | ||
6 | ## Legal Notice | 6 | ## Legal Notice |
7 | 7 | ||
diff --git a/src/core/hle/kernel/service_thread.cpp b/src/core/hle/kernel/service_thread.cpp index 04be8a502..2ae80beca 100755 --- a/src/core/hle/kernel/service_thread.cpp +++ b/src/core/hle/kernel/service_thread.cpp | |||
@@ -74,21 +74,17 @@ void ServiceThread::Impl::QueueSyncRequest(KSession& session, | |||
74 | { | 74 | { |
75 | std::unique_lock lock{queue_mutex}; | 75 | std::unique_lock lock{queue_mutex}; |
76 | 76 | ||
77 | auto* server_session{&session.GetServerSession()}; | ||
78 | |||
77 | // Open a reference to the session to ensure it is not closes while the service request | 79 | // Open a reference to the session to ensure it is not closes while the service request |
78 | // completes asynchronously. | 80 | // completes asynchronously. |
79 | session.Open(); | 81 | server_session->Open(); |
80 | 82 | ||
81 | requests.emplace([session_ptr{&session}, context{std::move(context)}]() { | 83 | requests.emplace([server_session, context{std::move(context)}]() { |
82 | // Close the reference. | 84 | // Close the reference. |
83 | SCOPE_EXIT({ session_ptr->Close(); }); | 85 | SCOPE_EXIT({ server_session->Close(); }); |
84 | |||
85 | // If the session has been closed, we are done. | ||
86 | if (session_ptr->IsServerClosed()) { | ||
87 | return; | ||
88 | } | ||
89 | 86 | ||
90 | // Complete the service request. | 87 | // Complete the service request. |
91 | KScopedAutoObject server_session{&session_ptr->GetServerSession()}; | ||
92 | server_session->CompleteSyncRequest(*context); | 88 | server_session->CompleteSyncRequest(*context); |
93 | }); | 89 | }); |
94 | } | 90 | } |