summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/thread.h
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2020-03-03 13:37:11 -0400
committerGravatar Fernando Sahmkow2020-06-27 11:35:23 -0400
commitb4dc01f16affe4baa9a7ab5ac4b240e03c03ae67 (patch)
tree3bd41c8e286ed564213b9a580e4df875f2687e25 /src/core/hle/kernel/thread.h
parentCore: Correct HLE Event Callbacks and other issues. (diff)
downloadyuzu-b4dc01f16affe4baa9a7ab5ac4b240e03c03ae67.tar.gz
yuzu-b4dc01f16affe4baa9a7ab5ac4b240e03c03ae67.tar.xz
yuzu-b4dc01f16affe4baa9a7ab5ac4b240e03c03ae67.zip
Kernel: Correct Signal on Thread Death and Setup Sync Objects on Thread for Debugging
Diffstat (limited to 'src/core/hle/kernel/thread.h')
-rw-r--r--src/core/hle/kernel/thread.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/core/hle/kernel/thread.h b/src/core/hle/kernel/thread.h
index c4c9d69ec..7b6d1b4ec 100644
--- a/src/core/hle/kernel/thread.h
+++ b/src/core/hle/kernel/thread.h
@@ -21,7 +21,7 @@ class Fiber;
21 21
22namespace Core { 22namespace Core {
23class System; 23class System;
24} 24} // namespace Core
25 25
26namespace Kernel { 26namespace Kernel {
27 27
@@ -386,18 +386,18 @@ public:
386 } 386 }
387 387
388 const ThreadSynchronizationObjects& GetSynchronizationObjects() const { 388 const ThreadSynchronizationObjects& GetSynchronizationObjects() const {
389 return wait_objects; 389 return *wait_objects;
390 } 390 }
391 391
392 void SetSynchronizationObjects(ThreadSynchronizationObjects objects) { 392 void SetSynchronizationObjects(ThreadSynchronizationObjects* objects) {
393 wait_objects = std::move(objects); 393 wait_objects = objects;
394 } 394 }
395 395
396 void ClearSynchronizationObjects() { 396 void ClearSynchronizationObjects() {
397 for (const auto& waiting_object : wait_objects) { 397 for (const auto& waiting_object : *wait_objects) {
398 waiting_object->RemoveWaitingThread(SharedFrom(this)); 398 waiting_object->RemoveWaitingThread(SharedFrom(this));
399 } 399 }
400 wait_objects.clear(); 400 wait_objects->clear();
401 } 401 }
402 402
403 /// Determines whether all the objects this thread is waiting on are ready. 403 /// Determines whether all the objects this thread is waiting on are ready.
@@ -595,7 +595,7 @@ private:
595 595
596 /// Objects that the thread is waiting on, in the same order as they were 596 /// Objects that the thread is waiting on, in the same order as they were
597 /// passed to WaitSynchronization. 597 /// passed to WaitSynchronization.
598 ThreadSynchronizationObjects wait_objects; 598 ThreadSynchronizationObjects* wait_objects;
599 599
600 SynchronizationObject* signaling_object; 600 SynchronizationObject* signaling_object;
601 ResultCode signaling_result{RESULT_SUCCESS}; 601 ResultCode signaling_result{RESULT_SUCCESS};