From 672c9230066e1d3047464d19b4475a9b19b5f602 Mon Sep 17 00:00:00 2001 From: Oceania2018 Date: Wed, 21 Aug 2019 22:44:24 -0500 Subject: [PATCH] DisposableObject #362 --- src/TensorFlowNET.Core/DisposableObject.cs | 20 +++++++++---------- .../Sessions/BaseSession.cs | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/TensorFlowNET.Core/DisposableObject.cs b/src/TensorFlowNET.Core/DisposableObject.cs index 6359b826..688ac92c 100644 --- a/src/TensorFlowNET.Core/DisposableObject.cs +++ b/src/TensorFlowNET.Core/DisposableObject.cs @@ -34,19 +34,19 @@ namespace Tensorflow private void internal_dispose(bool disposing) { - // free unmanaged resources (unmanaged objects). - if (_handle != IntPtr.Zero) + if (disposing) { - // set large fields to null. - DisposeUnmanagedResources(_handle); + // free unmanaged resources (unmanaged objects) and override a finalizer below. + if (_handle != IntPtr.Zero) + { + // dispose managed state (managed objects). + DisposeManagedResources(); - _handle = IntPtr.Zero; - } + // set large fields to null. + DisposeUnmanagedResources(_handle); - if (disposing) - { - // dispose managed state (managed objects). - DisposeManagedResources(); + _handle = IntPtr.Zero; + } } } diff --git a/src/TensorFlowNET.Core/Sessions/BaseSession.cs b/src/TensorFlowNET.Core/Sessions/BaseSession.cs index 907c5414..4c5f2be3 100644 --- a/src/TensorFlowNET.Core/Sessions/BaseSession.cs +++ b/src/TensorFlowNET.Core/Sessions/BaseSession.cs @@ -49,7 +49,7 @@ namespace Tensorflow // dispose newOpts if (opts == null) - c_api.TF_DeleteSessionOptions(newOpts); + newOpts.Dispose(); status.Check(true); }