diff options
author | bunnei <bunneidev@gmail.com> | 2022-10-15 07:55:51 +0200 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2022-10-19 04:13:35 +0200 |
commit | 829e82e264504696ce1d0ae9421a53d16bf104ea (patch) | |
tree | ce5c5f35eec6c801c51d7ff6242cbd42ad2d84f8 /src/core/hle/kernel/k_process.h | |
parent | core: Partially persist emulation state across game boots. (diff) | |
download | yuzu-829e82e264504696ce1d0ae9421a53d16bf104ea.tar yuzu-829e82e264504696ce1d0ae9421a53d16bf104ea.tar.gz yuzu-829e82e264504696ce1d0ae9421a53d16bf104ea.tar.bz2 yuzu-829e82e264504696ce1d0ae9421a53d16bf104ea.tar.lz yuzu-829e82e264504696ce1d0ae9421a53d16bf104ea.tar.xz yuzu-829e82e264504696ce1d0ae9421a53d16bf104ea.tar.zst yuzu-829e82e264504696ce1d0ae9421a53d16bf104ea.zip |
Diffstat (limited to 'src/core/hle/kernel/k_process.h')
-rw-r--r-- | src/core/hle/kernel/k_process.h | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/core/hle/kernel/k_process.h b/src/core/hle/kernel/k_process.h index fcc2897f9..788faec1d 100644 --- a/src/core/hle/kernel/k_process.h +++ b/src/core/hle/kernel/k_process.h @@ -138,16 +138,16 @@ public: } Result WaitConditionVariable(VAddr address, u64 cv_key, u32 tag, s64 ns) { - return condition_var.Wait(address, cv_key, tag, ns); + R_RETURN(condition_var.Wait(address, cv_key, tag, ns)); } Result SignalAddressArbiter(VAddr address, Svc::SignalType signal_type, s32 value, s32 count) { - return address_arbiter.SignalToAddress(address, signal_type, value, count); + R_RETURN(address_arbiter.SignalToAddress(address, signal_type, value, count)); } Result WaitAddressArbiter(VAddr address, Svc::ArbitrationType arb_type, s32 value, s64 timeout) { - return address_arbiter.WaitForAddress(address, arb_type, value, timeout); + R_RETURN(address_arbiter.WaitForAddress(address, arb_type, value, timeout)); } VAddr GetProcessLocalRegionAddress() const { @@ -407,13 +407,19 @@ private: pinned_threads[core_id] = nullptr; } + void FinalizeHandleTable() { + // Finalize the table. + handle_table.Finalize(); + + // Note that the table is finalized. + is_handle_table_initialized = false; + } + void ChangeState(State new_state); /// Allocates the main thread stack for the process, given the stack size in bytes. Result AllocateMainThreadStack(std::size_t stack_size); - void FinalizeHandleTable(); - /// Memory manager for this process KPageTable page_table; |