Browse Source
Merge pull request #7278 from Morph1984/svc-num-handles
svc: Correct WaitSynchronization num_handles param type
pull/15/merge
Mai M
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
4 additions and
4 deletions
-
src/core/hle/kernel/svc.cpp
-
src/core/hle/kernel/svc_wrap.h
|
|
|
@ -409,7 +409,7 @@ static ResultCode GetProcessId32(Core::System& system, u32* out_process_id_low, |
|
|
|
|
|
|
|
/// Wait for the given handles to synchronize, timeout after the specified nanoseconds
|
|
|
|
static ResultCode WaitSynchronization(Core::System& system, s32* index, VAddr handles_address, |
|
|
|
u64 num_handles, s64 nano_seconds) { |
|
|
|
s32 num_handles, s64 nano_seconds) { |
|
|
|
LOG_TRACE(Kernel_SVC, "called handles_address=0x{:X}, num_handles={}, nano_seconds={}", |
|
|
|
handles_address, num_handles, nano_seconds); |
|
|
|
|
|
|
|
@ -434,7 +434,7 @@ static ResultCode WaitSynchronization(Core::System& system, s32* index, VAddr ha |
|
|
|
|
|
|
|
// Ensure handles are closed when we're done.
|
|
|
|
SCOPE_EXIT({ |
|
|
|
for (u64 i = 0; i < num_handles; ++i) { |
|
|
|
for (s32 i = 0; i < num_handles; ++i) { |
|
|
|
kernel.UnregisterInUseObject(objs[i]); |
|
|
|
objs[i]->Close(); |
|
|
|
} |
|
|
|
|
|
|
|
@ -248,10 +248,10 @@ void SvcWrap64(Core::System& system) { |
|
|
|
} |
|
|
|
|
|
|
|
// Used by WaitSynchronization |
|
|
|
template <ResultCode func(Core::System&, s32*, u64, u64, s64)> |
|
|
|
template <ResultCode func(Core::System&, s32*, u64, s32, s64)> |
|
|
|
void SvcWrap64(Core::System& system) { |
|
|
|
s32 param_1 = 0; |
|
|
|
const u32 retval = func(system, ¶m_1, Param(system, 1), static_cast<u32>(Param(system, 2)), |
|
|
|
const u32 retval = func(system, ¶m_1, Param(system, 1), static_cast<s32>(Param(system, 2)), |
|
|
|
static_cast<s64>(Param(system, 3))) |
|
|
|
.raw; |
|
|
|
|
|
|
|
|