diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/kernel/hle_ipc.h | 5 | ||||
| -rw-r--r-- | src/core/hle/kernel/k_server_session.cpp | 9 |
2 files changed, 2 insertions, 12 deletions
diff --git a/src/core/hle/kernel/hle_ipc.h b/src/core/hle/kernel/hle_ipc.h index 55e6fb9f7..754b41ff6 100644 --- a/src/core/hle/kernel/hle_ipc.h +++ b/src/core/hle/kernel/hle_ipc.h | |||
| @@ -341,10 +341,6 @@ public: | |||
| 341 | return *thread; | 341 | return *thread; |
| 342 | } | 342 | } |
| 343 | 343 | ||
| 344 | bool IsThreadWaiting() const { | ||
| 345 | return is_thread_waiting; | ||
| 346 | } | ||
| 347 | |||
| 348 | private: | 344 | private: |
| 349 | friend class IPC::ResponseBuilder; | 345 | friend class IPC::ResponseBuilder; |
| 350 | 346 | ||
| @@ -379,7 +375,6 @@ private: | |||
| 379 | u32 domain_offset{}; | 375 | u32 domain_offset{}; |
| 380 | 376 | ||
| 381 | std::shared_ptr<SessionRequestManager> manager; | 377 | std::shared_ptr<SessionRequestManager> manager; |
| 382 | bool is_thread_waiting{}; | ||
| 383 | 378 | ||
| 384 | KernelCore& kernel; | 379 | KernelCore& kernel; |
| 385 | Core::Memory::Memory& memory; | 380 | Core::Memory::Memory& memory; |
diff --git a/src/core/hle/kernel/k_server_session.cpp b/src/core/hle/kernel/k_server_session.cpp index d4e4a6b06..2ea995d9a 100644 --- a/src/core/hle/kernel/k_server_session.cpp +++ b/src/core/hle/kernel/k_server_session.cpp | |||
| @@ -171,13 +171,8 @@ ResultCode KServerSession::CompleteSyncRequest(HLERequestContext& context) { | |||
| 171 | convert_to_domain = false; | 171 | convert_to_domain = false; |
| 172 | } | 172 | } |
| 173 | 173 | ||
| 174 | // Some service requests require the thread to block | 174 | // The calling thread is waiting for this request to complete, so wake it up. |
| 175 | { | 175 | context.GetThread().EndWait(result); |
| 176 | KScopedSchedulerLock lock(kernel); | ||
| 177 | if (!context.IsThreadWaiting()) { | ||
| 178 | context.GetThread().EndWait(result); | ||
| 179 | } | ||
| 180 | } | ||
| 181 | 176 | ||
| 182 | return result; | 177 | return result; |
| 183 | } | 178 | } |