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

@ -16,7 +16,7 @@ namespace Ryujinx.HLE.HOS.Services.Ro
{
[Service("ldr:ro")]
[Service("ro:1")] // 7.0.0+
class IRoInterface : IpcService, IDisposable
class IRoInterface : DisposableIpcService
{
private const int MaxNrr = 0x40;
private const int MaxNro = 0x40;
@ -571,14 +571,17 @@ namespace Ryujinx.HLE.HOS.Services.Ro
return ResultCode.Success;
}
public void Dispose()
protected override void Dispose(bool isDisposing)
{
foreach (NroInfo info in _nroInfos)
if (isDisposing)
{
UnmapNroFromInfo(info);
}
foreach (NroInfo info in _nroInfos)
{
UnmapNroFromInfo(info);
}
_nroInfos.Clear();
_nroInfos.Clear();
}
}
}
}