diff options
| author | 2020-12-21 22:36:53 -0800 | |
|---|---|---|
| committer | 2021-01-11 14:23:16 -0800 | |
| commit | 35c3c078e3c079c0a9192b411e20c71b122ff057 (patch) | |
| tree | 572c0b6a47a249a78d658122de32908262ec6a69 /src/core/hle/kernel/process.h | |
| parent | core: hle: kernel: Begin moving common SVC results to its own header. (diff) | |
| download | yuzu-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.h | 14 |
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 | ||
| 21 | namespace Core { | 21 | namespace Core { |
| @@ -63,7 +63,7 @@ enum class ProcessStatus { | |||
| 63 | DebugBreak, | 63 | DebugBreak, |
| 64 | }; | 64 | }; |
| 65 | 65 | ||
| 66 | class Process final : public SynchronizationObject { | 66 | class Process final : public KSynchronizationObject { |
| 67 | public: | 67 | public: |
| 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 | ||
| 316 | private: | 318 | private: |
| 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 | }; |