kern: KConditionVariable arbiter functions now static

This commit is contained in:
Michael Scire 2021-09-17 15:11:58 -07:00
parent 53aa04303a
commit fe03791d11
3 changed files with 4 additions and 12 deletions

View file

@ -29,8 +29,8 @@ namespace ams::kern {
constexpr KConditionVariable() : m_tree() { /* ... */ }
/* Arbitration. */
Result SignalToAddress(KProcessAddress addr);
Result WaitForAddress(ams::svc::Handle handle, KProcessAddress addr, u32 value);
static Result SignalToAddress(KProcessAddress addr);
static Result WaitForAddress(ams::svc::Handle handle, KProcessAddress addr, u32 value);
/* Condition variable. */
void Signal(uintptr_t cv_key, s32 count);

View file

@ -341,14 +341,6 @@ namespace ams::kern {
void UnpinCurrentThread();
void UnpinThread(KThread *thread);
Result SignalToAddress(KProcessAddress address) {
return m_cond_var.SignalToAddress(address);
}
Result WaitForAddress(ams::svc::Handle handle, KProcessAddress address, u32 tag) {
return m_cond_var.WaitForAddress(handle, address, tag);
}
void SignalConditionVariable(uintptr_t cv_key, int32_t count) {
return m_cond_var.Signal(cv_key, count);
}

View file

@ -30,7 +30,7 @@ namespace ams::kern::svc {
R_UNLESS(!IsKernelAddress(address), svc::ResultInvalidCurrentMemory());
R_UNLESS(util::IsAligned(address, sizeof(u32)), svc::ResultInvalidAddress());
return GetCurrentProcess().WaitForAddress(thread_handle, address, tag);
return KConditionVariable::WaitForAddress(thread_handle, address, tag);
}
Result ArbitrateUnlock(uintptr_t address) {
@ -38,7 +38,7 @@ namespace ams::kern::svc {
R_UNLESS(!IsKernelAddress(address), svc::ResultInvalidCurrentMemory());
R_UNLESS(util::IsAligned(address, sizeof(u32)), svc::ResultInvalidAddress());
return GetCurrentProcess().SignalToAddress(address);
return KConditionVariable::SignalToAddress(address);
}
}