hle: Add safety measure around overflow in ScheduleFutureInvocation

Fix crash on Linux since 08831eecf7.
This commit is contained in:
Mary 2023-01-05 01:55:27 +01:00
parent d6b86a6629
commit 8639245533

View file

@ -44,7 +44,13 @@ namespace Ryujinx.HLE.HOS.Kernel.Common
public void ScheduleFutureInvocation(IKFutureSchedulerObject schedulerObj, long timeout) public void ScheduleFutureInvocation(IKFutureSchedulerObject schedulerObj, long timeout)
{ {
long timePoint = PerformanceCounter.ElapsedTicks + ConvertNanosecondsToHostTicks(timeout); long startTime = PerformanceCounter.ElapsedTicks;
long timePoint = startTime + ConvertNanosecondsToHostTicks(timeout);
if (timePoint < startTime)
{
timePoint = long.MaxValue;
}
lock (_context.CriticalSection.Lock) lock (_context.CriticalSection.Lock)
{ {