diff options
| author | 2015-06-17 18:07:15 -0400 | |
|---|---|---|
| committer | 2015-06-17 18:07:15 -0400 | |
| commit | 2e16edbc56c51265250269dd2d5e8b7b71335656 (patch) | |
| tree | 7634b833a4c5a647a172f29cff281920ce0f07ed /src/core/hle/kernel/thread.h | |
| parent | Merge pull request #864 from linkmauve/gl-info (diff) | |
| parent | kernel: Fix svcWaitSynch to always acquire requested wait objects. (diff) | |
| download | yuzu-2e16edbc56c51265250269dd2d5e8b7b71335656.tar.gz yuzu-2e16edbc56c51265250269dd2d5e8b7b71335656.tar.xz yuzu-2e16edbc56c51265250269dd2d5e8b7b71335656.zip | |
Merge pull request #849 from bunnei/fix-waitsynch-2
Fix svcWaitSynch to correctly acquire wait objects
Diffstat (limited to 'src/core/hle/kernel/thread.h')
| -rw-r--r-- | src/core/hle/kernel/thread.h | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/src/core/hle/kernel/thread.h b/src/core/hle/kernel/thread.h index 2c65419c3..b8160bb2c 100644 --- a/src/core/hle/kernel/thread.h +++ b/src/core/hle/kernel/thread.h | |||
| @@ -96,12 +96,6 @@ public: | |||
| 96 | u32 GetThreadId() const { return thread_id; } | 96 | u32 GetThreadId() const { return thread_id; } |
| 97 | 97 | ||
| 98 | /** | 98 | /** |
| 99 | * Release an acquired wait object | ||
| 100 | * @param wait_object WaitObject to release | ||
| 101 | */ | ||
| 102 | void ReleaseWaitObject(WaitObject* wait_object); | ||
| 103 | |||
| 104 | /** | ||
| 105 | * Resumes a thread from waiting | 99 | * Resumes a thread from waiting |
| 106 | */ | 100 | */ |
| 107 | void ResumeFromWait(); | 101 | void ResumeFromWait(); |
| @@ -152,6 +146,8 @@ public: | |||
| 152 | 146 | ||
| 153 | s32 tls_index; ///< Index of the Thread Local Storage of the thread | 147 | s32 tls_index; ///< Index of the Thread Local Storage of the thread |
| 154 | 148 | ||
| 149 | bool waitsynch_waited; ///< Set to true if the last svcWaitSynch call caused the thread to wait | ||
| 150 | |||
| 155 | /// Mutexes currently held by this thread, which will be released when it exits. | 151 | /// Mutexes currently held by this thread, which will be released when it exits. |
| 156 | boost::container::flat_set<SharedPtr<Mutex>> held_mutexes; | 152 | boost::container::flat_set<SharedPtr<Mutex>> held_mutexes; |
| 157 | 153 | ||
| @@ -163,12 +159,12 @@ public: | |||
| 163 | 159 | ||
| 164 | std::string name; | 160 | std::string name; |
| 165 | 161 | ||
| 162 | /// Handle used as userdata to reference this object when inserting into the CoreTiming queue. | ||
| 163 | Handle callback_handle; | ||
| 164 | |||
| 166 | private: | 165 | private: |
| 167 | Thread(); | 166 | Thread(); |
| 168 | ~Thread() override; | 167 | ~Thread() override; |
| 169 | |||
| 170 | /// Handle used as userdata to reference this object when inserting into the CoreTiming queue. | ||
| 171 | Handle callback_handle; | ||
| 172 | }; | 168 | }; |
| 173 | 169 | ||
| 174 | /** | 170 | /** |