From 00ce9eea620652b97b4d3e8cd9218c6fccff8b1c Mon Sep 17 00:00:00 2001 From: Mary Date: Tue, 29 Jun 2021 19:37:13 +0200 Subject: Fix disposing of IPC sessions server at emulation stop (#2334) --- .../Bcat/ServiceCreator/IDeliveryCacheDirectoryService.cs | 10 ++++++---- .../Services/Bcat/ServiceCreator/IDeliveryCacheFileService.cs | 10 ++++++---- .../Bcat/ServiceCreator/IDeliveryCacheStorageService.cs | 10 ++++++---- 3 files changed, 18 insertions(+), 12 deletions(-) (limited to 'Ryujinx.HLE/HOS/Services/Bcat/ServiceCreator') diff --git a/Ryujinx.HLE/HOS/Services/Bcat/ServiceCreator/IDeliveryCacheDirectoryService.cs b/Ryujinx.HLE/HOS/Services/Bcat/ServiceCreator/IDeliveryCacheDirectoryService.cs index 51d8f66c..46c2c09c 100644 --- a/Ryujinx.HLE/HOS/Services/Bcat/ServiceCreator/IDeliveryCacheDirectoryService.cs +++ b/Ryujinx.HLE/HOS/Services/Bcat/ServiceCreator/IDeliveryCacheDirectoryService.cs @@ -1,12 +1,11 @@ using LibHac; using LibHac.Bcat; using Ryujinx.Common; -using System; using System.Runtime.InteropServices; namespace Ryujinx.HLE.HOS.Services.Bcat.ServiceCreator { - class IDeliveryCacheDirectoryService : IpcService, IDisposable + class IDeliveryCacheDirectoryService : DisposableIpcService { private LibHac.Bcat.Detail.Ipc.IDeliveryCacheDirectoryService _base; @@ -55,9 +54,12 @@ namespace Ryujinx.HLE.HOS.Services.Bcat.ServiceCreator return (ResultCode)result.Value; } - public void Dispose() + protected override void Dispose(bool isDisposing) { - _base?.Dispose(); + if (isDisposing) + { + _base?.Dispose(); + } } } } diff --git a/Ryujinx.HLE/HOS/Services/Bcat/ServiceCreator/IDeliveryCacheFileService.cs b/Ryujinx.HLE/HOS/Services/Bcat/ServiceCreator/IDeliveryCacheFileService.cs index 9354b60e..55c89a3e 100644 --- a/Ryujinx.HLE/HOS/Services/Bcat/ServiceCreator/IDeliveryCacheFileService.cs +++ b/Ryujinx.HLE/HOS/Services/Bcat/ServiceCreator/IDeliveryCacheFileService.cs @@ -1,11 +1,10 @@ using LibHac; using LibHac.Bcat; using Ryujinx.Common; -using System; namespace Ryujinx.HLE.HOS.Services.Bcat.ServiceCreator { - class IDeliveryCacheFileService : IpcService, IDisposable + class IDeliveryCacheFileService : DisposableIpcService { private LibHac.Bcat.Detail.Ipc.IDeliveryCacheFileService _base; @@ -68,9 +67,12 @@ namespace Ryujinx.HLE.HOS.Services.Bcat.ServiceCreator return (ResultCode)result.Value; } - public void Dispose() + protected override void Dispose(bool isDisposing) { - _base?.Dispose(); + if (isDisposing) + { + _base?.Dispose(); + } } } } diff --git a/Ryujinx.HLE/HOS/Services/Bcat/ServiceCreator/IDeliveryCacheStorageService.cs b/Ryujinx.HLE/HOS/Services/Bcat/ServiceCreator/IDeliveryCacheStorageService.cs index cac5f170..0d2f2521 100644 --- a/Ryujinx.HLE/HOS/Services/Bcat/ServiceCreator/IDeliveryCacheStorageService.cs +++ b/Ryujinx.HLE/HOS/Services/Bcat/ServiceCreator/IDeliveryCacheStorageService.cs @@ -1,11 +1,10 @@ using LibHac; using LibHac.Bcat; -using System; using System.Runtime.InteropServices; namespace Ryujinx.HLE.HOS.Services.Bcat.ServiceCreator { - class IDeliveryCacheStorageService : IpcService, IDisposable + class IDeliveryCacheStorageService : DisposableIpcService { private LibHac.Bcat.Detail.Ipc.IDeliveryCacheStorageService _base; @@ -60,9 +59,12 @@ namespace Ryujinx.HLE.HOS.Services.Bcat.ServiceCreator return (ResultCode)result.Value; } - public void Dispose() + protected override void Dispose(bool isDisposing) { - _base?.Dispose(); + if (isDisposing) + { + _base?.Dispose(); + } } } } -- cgit v1.2.3