diff options
| author | 2020-03-03 13:37:11 -0400 | |
|---|---|---|
| committer | 2020-06-27 11:35:23 -0400 | |
| commit | b4dc01f16affe4baa9a7ab5ac4b240e03c03ae67 (patch) | |
| tree | 3bd41c8e286ed564213b9a580e4df875f2687e25 /src/core/hle/kernel/thread.h | |
| parent | Core: Correct HLE Event Callbacks and other issues. (diff) | |
| download | yuzu-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.h | 14 |
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 | ||
| 22 | namespace Core { | 22 | namespace Core { |
| 23 | class System; | 23 | class System; |
| 24 | } | 24 | } // namespace Core |
| 25 | 25 | ||
| 26 | namespace Kernel { | 26 | namespace 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}; |