[hipc] Fix 'Unexpected result code Success returned' in Reply() (#4215)
* horizon: Add AbortOnFailureUnless() * hipc: Replace AbortUnless() with AbortOnFailureUnless() in Reply()
This commit is contained in:
parent
38519f3b9a
commit
81fae0d1a6
2 changed files with 11 additions and 3 deletions
|
@ -100,6 +100,14 @@ namespace Ryujinx.Horizon.Common
|
|||
}
|
||||
}
|
||||
|
||||
public void AbortOnFailureUnless(Result result, Result result2)
|
||||
{
|
||||
if (this != Success && this != result && this != result2)
|
||||
{
|
||||
ThrowInvalidResult();
|
||||
}
|
||||
}
|
||||
|
||||
private void ThrowInvalidResult()
|
||||
{
|
||||
throw new InvalidResultException(this);
|
||||
|
@ -115,4 +123,4 @@ namespace Ryujinx.Horizon.Common
|
|||
return PrintableResult;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -51,7 +51,7 @@ namespace Ryujinx.Horizon.Sdk.Sf.Hipc
|
|||
{
|
||||
Result result = ReplyImpl(sessionHandle, messageBuffer);
|
||||
|
||||
result.AbortUnless(KernelResult.TimedOut, KernelResult.PortRemoteClosed);
|
||||
result.AbortOnFailureUnless(KernelResult.TimedOut, KernelResult.PortRemoteClosed);
|
||||
|
||||
return Result.Success;
|
||||
}
|
||||
|
@ -86,4 +86,4 @@ namespace Ryujinx.Horizon.Sdk.Sf.Hipc
|
|||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue