[runtime] Add finalizer to SafeGPtrArrayHandle
authorAleksey Kliger <aleksey@xamarin.com>
Thu, 14 Jul 2016 21:58:47 +0000 (17:58 -0400)
committerAleksey Kliger <aleksey@xamarin.com>
Thu, 14 Jul 2016 21:58:47 +0000 (17:58 -0400)
mcs/class/corlib/Mono/SafeGPtrArrayHandle.cs

index e681ff4b8d8ae2052dbfb252876eb9d4b3d59121..6332259b9a1781d82862d26130c5de0e499a5124 100644 (file)
@@ -23,9 +23,18 @@ namespace Mono {
                        this.freeSeg = freeSeg;
                }
 
-               public void Dispose ()
+               ~SafeGPtrArrayHandle ()
+               {
+                       Dispose (false);
+               }
+
+               void Dispose (bool disposing)
                {
                        RuntimeGPtrArrayHandle.DestroyAndFree (ref handle, freeSeg);
+               }
+
+               public void Dispose () {
+                       Dispose (true);
                        GC.SuppressFinalize (this);
                }