diff options
author | bunnei <bunneidev@gmail.com> | 2015-01-11 18:52:09 -0500 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2015-01-11 18:52:09 -0500 |
commit | b33380ca59f827c12183e24ab27e0f08f02211b5 (patch) | |
tree | 4d5a81b3bfb41bc035a8957b16fce5ddc8dd0e40 /src/core/hle/svc.cpp | |
parent | 1da04a72a26423bb685b48d69f5c2847cc7a0959 (diff) | |
parent | 38da198aa14daef3b4dfb83d13e82bde91b98a8d (diff) |
Merge pull request #456 from Subv/waitsync1
SVC: Wake up the thread after the delay in WaitSync1
Diffstat (limited to 'src/core/hle/svc.cpp')
-rw-r--r-- | src/core/hle/svc.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp index d3b4483ca..5c6a3be80 100644 --- a/src/core/hle/svc.cpp +++ b/src/core/hle/svc.cpp @@ -120,9 +120,6 @@ static Result CloseHandle(Handle handle) { /// Wait for a handle to synchronize, timeout after the specified nanoseconds static Result WaitSynchronization1(Handle handle, s64 nano_seconds) { - // TODO(bunnei): Do something with nano_seconds, currently ignoring this - bool wait_infinite = (nano_seconds == -1); // Used to wait until a thread has terminated - SharedPtr<Kernel::Object> object = Kernel::g_handle_table.GetGeneric(handle); if (object == nullptr) return InvalidHandle(ErrorModule::Kernel).raw; @@ -134,6 +131,8 @@ static Result WaitSynchronization1(Handle handle, s64 nano_seconds) { // Check for next thread to schedule if (wait.Succeeded() && *wait) { + // Create an event to wake the thread up after the specified nanosecond delay has passed + Kernel::WakeThreadAfterDelay(Kernel::GetCurrentThread(), nano_seconds); HLE::Reschedule(__func__); } |