summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/kernel.h
diff options
context:
space:
mode:
authorGravatar Sebastian Valle2017-01-05 12:55:01 -0500
committerGravatar GitHub2017-01-05 12:55:01 -0500
commitf20d872643654c574f73a263f032613046900f07 (patch)
tree021284c18034d053c81928fa19d2efb6658451fb /src/core/hle/kernel/kernel.h
parentMerge pull request #2407 from jroweboy/nightly-deploy (diff)
parentKernel: Add some asserts to enforce the invariants in the scheduler. (diff)
downloadyuzu-f20d872643654c574f73a263f032613046900f07.tar.gz
yuzu-f20d872643654c574f73a263f032613046900f07.tar.xz
yuzu-f20d872643654c574f73a263f032613046900f07.zip
Merge pull request #2393 from Subv/synch
Kernel: Mutex priority inheritance and synchronization improvements.
Diffstat (limited to 'src/core/hle/kernel/kernel.h')
-rw-r--r--src/core/hle/kernel/kernel.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h
index 9503e7d04..05097824b 100644
--- a/src/core/hle/kernel/kernel.h
+++ b/src/core/hle/kernel/kernel.h
@@ -132,25 +132,26 @@ using SharedPtr = boost::intrusive_ptr<T>;
132class WaitObject : public Object { 132class WaitObject : public Object {
133public: 133public:
134 /** 134 /**
135 * Check if the current thread should wait until the object is available 135 * Check if the specified thread should wait until the object is available
136 * @param thread The thread about which we're deciding.
136 * @return True if the current thread should wait due to this object being unavailable 137 * @return True if the current thread should wait due to this object being unavailable
137 */ 138 */
138 virtual bool ShouldWait() = 0; 139 virtual bool ShouldWait(Thread* thread) const = 0;
139 140
140 /// Acquire/lock the object if it is available 141 /// Acquire/lock the object for the specified thread if it is available
141 virtual void Acquire() = 0; 142 virtual void Acquire(Thread* thread) = 0;
142 143
143 /** 144 /**
144 * Add a thread to wait on this object 145 * Add a thread to wait on this object
145 * @param thread Pointer to thread to add 146 * @param thread Pointer to thread to add
146 */ 147 */
147 void AddWaitingThread(SharedPtr<Thread> thread); 148 virtual void AddWaitingThread(SharedPtr<Thread> thread);
148 149
149 /** 150 /**
150 * Removes a thread from waiting on this object (e.g. if it was resumed already) 151 * Removes a thread from waiting on this object (e.g. if it was resumed already)
151 * @param thread Pointer to thread to remove 152 * @param thread Pointer to thread to remove
152 */ 153 */
153 void RemoveWaitingThread(Thread* thread); 154 virtual void RemoveWaitingThread(Thread* thread);
154 155
155 /** 156 /**
156 * Wake up all threads waiting on this object that can be awoken, in priority order, 157 * Wake up all threads waiting on this object that can be awoken, in priority order,