Fix disposing of IPC sessions server at emulation stop (#2334)

This commit is contained in:
Mary 2021-06-29 19:37:13 +02:00 committed by GitHub
parent fbb4019ed5
commit 00ce9eea62
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
28 changed files with 284 additions and 123 deletions

View file

@ -4,10 +4,12 @@ using System.Security.Cryptography;
namespace Ryujinx.HLE.HOS.Services.Spl
{
[Service("csrng")]
class IRandomInterface : IpcService, IDisposable
class IRandomInterface : DisposableIpcService
{
private RNGCryptoServiceProvider _rng;
private object _lock = new object();
public IRandomInterface(ServiceCtx context)
{
_rng = new RNGCryptoServiceProvider();
@ -26,14 +28,9 @@ namespace Ryujinx.HLE.HOS.Services.Spl
return ResultCode.Success;
}
public void Dispose()
protected override void Dispose(bool isDisposing)
{
Dispose(true);
}
protected virtual void Dispose(bool disposing)
{
if (disposing)
if (isDisposing)
{
_rng.Dispose();
}