From 00ce9eea620652b97b4d3e8cd9218c6fccff8b1c Mon Sep 17 00:00:00 2001
From: Mary <me@thog.eu>
Date: Tue, 29 Jun 2021 19:37:13 +0200
Subject: Fix disposing of IPC sessions server at emulation stop (#2334)

---
 Ryujinx.HLE/HOS/Services/IpcService.cs | 13 +++++++++++++
 1 file changed, 13 insertions(+)

(limited to 'Ryujinx.HLE/HOS/Services/IpcService.cs')

diff --git a/Ryujinx.HLE/HOS/Services/IpcService.cs b/Ryujinx.HLE/HOS/Services/IpcService.cs
index e9582c26..e3306071 100644
--- a/Ryujinx.HLE/HOS/Services/IpcService.cs
+++ b/Ryujinx.HLE/HOS/Services/IpcService.cs
@@ -265,5 +265,18 @@ namespace Ryujinx.HLE.HOS.Services
         {
             _parent = parent._parent;
         }
+
+        public virtual void DestroyAtExit()
+        {
+            foreach (object domainObject in _domainObjects.Values)
+            {
+                if (domainObject != this && domainObject is IDisposable disposableObj)
+                {
+                    disposableObj.Dispose();
+                }
+            }
+
+            _domainObjects.Clear();
+        }
     }
 }
-- 
cgit v1.2.3-70-g09d2