Browse Source

Resolve PR issues

pull/2327/head
Stefan Nikolei 3 years ago
parent
commit
4efd49295a
  1. 5
      src/ImageSharp/Memory/Allocators/Internals/SharedArrayPoolBuffer{T}.cs
  2. 2
      src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.Consumed.cs

5
src/ImageSharp/Memory/Allocators/Internals/SharedArrayPoolBuffer{T}.cs

@ -67,7 +67,7 @@ internal class SharedArrayPoolBuffer<T> : ManagedBufferBase<T>, IRefCounted
private sealed class LifetimeGuard : RefCountedMemoryLifetimeGuard
{
private byte[] array;
private byte[]? array;
public LifetimeGuard(byte[] array) => this.array = array;
@ -78,7 +78,8 @@ internal class SharedArrayPoolBuffer<T> : ManagedBufferBase<T>, IRefCounted
// This is not ideal, but subsequent leaks will end up returning arrays to per-cpu buckets,
// meaning likely a different bucket than it was rented from,
// but this is PROBABLY better than not returning the arrays at all.
ArrayPool<byte>.Shared.Return(this.array);
ArrayPool<byte>.Shared.Return(this.array!);
this.array = null;
}
}
}

2
src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.Consumed.cs

@ -48,6 +48,6 @@ internal abstract partial class MemoryGroup<T>
return ((IList<Memory<T>>)this.source).GetEnumerator();
}
public override void Dispose() => this.View?.Invalidate();
public override void Dispose() => this.View.Invalidate();
}
}

Loading…
Cancel
Save