aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/hle/kernel/kernel.h
diff options
context:
space:
mode:
authorGravatar bunnei <bunneidev@gmail.com>2015-01-18 01:27:46 -0500
committerGravatar bunnei <bunneidev@gmail.com>2015-01-21 19:11:47 -0500
commit6643673f28b9273149fc945849a13ed832e9ef33 (patch)
tree026410cf5b0b57d350ac979380307991646e546c /src/core/hle/kernel/kernel.h
parentaa01c57ae9d73e41b65d37860ca6fbb91caba33a (diff)
WaitSynchronizationN: Refactor to fix several bugs
- Separate wait checking from waiting the current thread - Resume thread when wait_all=true only if all objects are available at once - Set output to correct wait object index when there are duplicate handles
Diffstat (limited to 'src/core/hle/kernel/kernel.h')
-rw-r--r--src/core/hle/kernel/kernel.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h
index d98fd038..cfaf0c90 100644
--- a/src/core/hle/kernel/kernel.h
+++ b/src/core/hle/kernel/kernel.h
@@ -65,18 +65,18 @@ public:
virtual Kernel::HandleType GetHandleType() const = 0;
/**
- * Wait the current thread for kernel object to synchronize.
- * @param index Index of wait object (only applies to WaitSynchronizationN)
- * @return True if the current thread should wait as a result of the wait
+ * Check if this object is available, (optionally) wait the current thread if not
+ * @param wait_thread If true, wait the current thread if this object is unavailable
+ * @return True if the current thread should wait due to this object being unavailable
*/
- virtual ResultVal<bool> Wait(unsigned index = 0) {
+ virtual ResultVal<bool> Wait(bool wait_thread) {
LOG_ERROR(Kernel, "(UNIMPLEMENTED)");
return UnimplementedFunction(ErrorModule::Kernel);
}
/**
- * Acquire/lock the kernel object if it is available
- * @return True if we were able to acquire the kernel object, otherwise false
+ * Acquire/lock the this object if it is available
+ * @return True if we were able to acquire this object, otherwise false
*/
virtual ResultVal<bool> Acquire() {
LOG_ERROR(Kernel, "(UNIMPLEMENTED)");