aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Tests.Unicorn
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Tests.Unicorn')
-rw-r--r--Ryujinx.Tests.Unicorn/UnicornAArch32.cs20
-rw-r--r--Ryujinx.Tests.Unicorn/UnicornAArch64.cs20
2 files changed, 36 insertions, 4 deletions
diff --git a/Ryujinx.Tests.Unicorn/UnicornAArch32.cs b/Ryujinx.Tests.Unicorn/UnicornAArch32.cs
index e1efb52f..e634e0d2 100644
--- a/Ryujinx.Tests.Unicorn/UnicornAArch32.cs
+++ b/Ryujinx.Tests.Unicorn/UnicornAArch32.cs
@@ -3,9 +3,10 @@ using System;
namespace Ryujinx.Tests.Unicorn
{
- public class UnicornAArch32
+ public class UnicornAArch32 : IDisposable
{
internal readonly IntPtr uc;
+ private bool _isDisposed = false;
public IndexedProperty<int, uint> R
{
@@ -107,7 +108,22 @@ namespace Ryujinx.Tests.Unicorn
~UnicornAArch32()
{
- Interface.Checked(Native.Interface.uc_close(uc));
+ Dispose(false);
+ }
+
+ public void Dispose()
+ {
+ Dispose(true);
+ GC.SuppressFinalize(this);
+ }
+
+ protected virtual void Dispose(bool disposing)
+ {
+ if (!_isDisposed)
+ {
+ Interface.Checked(Native.Interface.uc_close(uc));
+ _isDisposed = true;
+ }
}
public void RunForCount(ulong count)
diff --git a/Ryujinx.Tests.Unicorn/UnicornAArch64.cs b/Ryujinx.Tests.Unicorn/UnicornAArch64.cs
index 4453d18d..c5d5540b 100644
--- a/Ryujinx.Tests.Unicorn/UnicornAArch64.cs
+++ b/Ryujinx.Tests.Unicorn/UnicornAArch64.cs
@@ -3,9 +3,10 @@ using System;
namespace Ryujinx.Tests.Unicorn
{
- public class UnicornAArch64
+ public class UnicornAArch64 : IDisposable
{
internal readonly IntPtr uc;
+ private bool _isDisposed = false;
public IndexedProperty<int, ulong> X
{
@@ -96,7 +97,22 @@ namespace Ryujinx.Tests.Unicorn
~UnicornAArch64()
{
- Interface.Checked(Native.Interface.uc_close(uc));
+ Dispose(false);
+ }
+
+ public void Dispose()
+ {
+ Dispose(true);
+ GC.SuppressFinalize(this);
+ }
+
+ protected virtual void Dispose(bool disposing)
+ {
+ if (!_isDisposed)
+ {
+ Interface.Checked(Native.Interface.uc_close(uc));
+ _isDisposed = true;
+ }
}
public void RunForCount(ulong count)