summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/process.h
diff options
context:
space:
mode:
authorGravatar bunnei2020-12-21 22:36:53 -0800
committerGravatar bunnei2021-01-11 14:23:16 -0800
commit35c3c078e3c079c0a9192b411e20c71b122ff057 (patch)
tree572c0b6a47a249a78d658122de32908262ec6a69 /src/core/hle/kernel/process.h
parentcore: hle: kernel: Begin moving common SVC results to its own header. (diff)
downloadyuzu-35c3c078e3c079c0a9192b411e20c71b122ff057.tar.gz
yuzu-35c3c078e3c079c0a9192b411e20c71b122ff057.tar.xz
yuzu-35c3c078e3c079c0a9192b411e20c71b122ff057.zip
core: hle: kernel: Update KSynchronizationObject.
Diffstat (limited to 'src/core/hle/kernel/process.h')
-rw-r--r--src/core/hle/kernel/process.h14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/core/hle/kernel/process.h b/src/core/hle/kernel/process.h
index e412e58aa..901f1ff27 100644
--- a/src/core/hle/kernel/process.h
+++ b/src/core/hle/kernel/process.h
@@ -13,9 +13,9 @@
13#include "common/common_types.h" 13#include "common/common_types.h"
14#include "core/hle/kernel/address_arbiter.h" 14#include "core/hle/kernel/address_arbiter.h"
15#include "core/hle/kernel/handle_table.h" 15#include "core/hle/kernel/handle_table.h"
16#include "core/hle/kernel/k_synchronization_object.h"
16#include "core/hle/kernel/mutex.h" 17#include "core/hle/kernel/mutex.h"
17#include "core/hle/kernel/process_capability.h" 18#include "core/hle/kernel/process_capability.h"
18#include "core/hle/kernel/synchronization_object.h"
19#include "core/hle/result.h" 19#include "core/hle/result.h"
20 20
21namespace Core { 21namespace Core {
@@ -63,7 +63,7 @@ enum class ProcessStatus {
63 DebugBreak, 63 DebugBreak,
64}; 64};
65 65
66class Process final : public SynchronizationObject { 66class Process final : public KSynchronizationObject {
67public: 67public:
68 explicit Process(Core::System& system); 68 explicit Process(Core::System& system);
69 ~Process() override; 69 ~Process() override;
@@ -304,6 +304,8 @@ public:
304 304
305 void LoadModule(CodeSet code_set, VAddr base_addr); 305 void LoadModule(CodeSet code_set, VAddr base_addr);
306 306
307 bool IsSignaled() const override;
308
307 /////////////////////////////////////////////////////////////////////////////////////////////// 309 ///////////////////////////////////////////////////////////////////////////////////////////////
308 // Thread-local storage management 310 // Thread-local storage management
309 311
@@ -314,12 +316,6 @@ public:
314 void FreeTLSRegion(VAddr tls_address); 316 void FreeTLSRegion(VAddr tls_address);
315 317
316private: 318private:
317 /// Checks if the specified thread should wait until this process is available.
318 bool ShouldWait(const Thread* thread) const override;
319
320 /// Acquires/locks this process for the specified thread if it's available.
321 void Acquire(Thread* thread) override;
322
323 /// Changes the process status. If the status is different 319 /// Changes the process status. If the status is different
324 /// from the current process status, then this will trigger 320 /// from the current process status, then this will trigger
325 /// a process signal. 321 /// a process signal.
@@ -410,6 +406,8 @@ private:
410 /// Schedule count of this process 406 /// Schedule count of this process
411 s64 schedule_count{}; 407 s64 schedule_count{};
412 408
409 bool is_signaled{};
410
413 /// System context 411 /// System context
414 Core::System& system; 412 Core::System& system;
415}; 413};