public void Dispose() { Debug.WriteLine("ProtectedMemorySecretFactory: Dispose"); lock (allocatorLock) { if (allocator == null) { throw new Exception("ProtectedMemorySecretFactory.Dispose: Allocator is null!"); } Debug.WriteLine("ProtectedMemorySecretFactory: Allocator is not null"); refCount--; if (refCount == 0) { Debug.WriteLine("ProtectedMemorySecretFactory: refCount is zero, disposing"); allocator.Dispose(); Debug.WriteLine("ProtectedMemorySecretFactory: Setting allocator to null"); allocator = null; } else { Debug.WriteLine($"ProtectedMemorySecretFactory: New refCount is {refCount}"); } } }
public void Dispose() { Debug.WriteLine("ProtectedMemoryAllocatorTest.Dispose"); protectedMemoryAllocator.Dispose(); }