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
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();
}
}
}
}