aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/thread.h
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2020-02-25 16:38:33 -0400
committerFernando Sahmkow <fsahmkow27@gmail.com>2020-06-27 11:35:13 -0400
commit3b5b950c895a2db217a3e5c8105cec4498a2534e (patch)
tree2a8e054af30c9aa8039f8faa4b993e2290642184 /src/core/hle/kernel/thread.h
parentef4afa9760f07bc218256cdb044529ad3a7c08b5 (diff)
SVC: Correct SignalEvent, ClearEvent, ResetSignal, WaitSynchronization, CancelSynchronization, ArbitrateLock
Diffstat (limited to 'src/core/hle/kernel/thread.h')
-rw-r--r--src/core/hle/kernel/thread.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/core/hle/kernel/thread.h b/src/core/hle/kernel/thread.h
index 29fe5483b..a8ae1a66f 100644
--- a/src/core/hle/kernel/thread.h
+++ b/src/core/hle/kernel/thread.h
@@ -259,13 +259,23 @@ public:
* Sets the result after the thread awakens (from svcWaitSynchronization)
* @param result Value to set to the returned result
*/
- void SetWaitSynchronizationResult(ResultCode result);
+ void /*deprecated*/ SetWaitSynchronizationResult(ResultCode result);
/**
* Sets the output parameter value after the thread awakens (from svcWaitSynchronization)
* @param output Value to set to the output parameter
*/
- void SetWaitSynchronizationOutput(s32 output);
+ void /*deprecated*/ SetWaitSynchronizationOutput(s32 output);
+
+ void SetSynchronizationResults(SynchronizationObject* object, ResultCode result);
+
+ SynchronizationObject* GetSignalingObject() const {
+ return signaling_object;
+ }
+
+ ResultCode GetSignalingResult() const {
+ return signaling_result;
+ }
/**
* Retrieves the index that this particular object occupies in the list of objects
@@ -565,6 +575,9 @@ private:
/// passed to WaitSynchronization.
ThreadSynchronizationObjects wait_objects;
+ SynchronizationObject* signaling_object;
+ ResultCode signaling_result{RESULT_SUCCESS};
+
/// List of threads that are waiting for a mutex that is held by this thread.
MutexWaitingThreads wait_mutex_threads;