Skip to content

Commit 62c62b5

Browse files
authored
Merge pull request #66 from mycroes/copilot/remove-try-finally-arraypool-return
Return ArrayPool buffer to pool on success only, skip return on exception
2 parents 925b9de + 9252f04 commit 62c62b5

1 file changed

Lines changed: 6 additions & 18 deletions

File tree

Sally7/S7Connection.cs

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -227,16 +227,10 @@ await stream
227227
public async Task ReadAsync(IDataItem[] dataItems, CancellationToken cancellationToken = default)
228228
{
229229
var results = ArrayPool<ReadWriteErrorCode>.Shared.Rent(dataItems.Length);
230-
try
231-
{
232-
await ReadAsync(dataItems, results, cancellationToken).ConfigureAwait(false);
230+
await ReadAsync(dataItems, results, cancellationToken).ConfigureAwait(false);
233231

234-
ReadWriteErrorHelpers.ThrowIfHasErrors("Read", dataItems, results.AsSpan(0, dataItems.Length));
235-
}
236-
finally
237-
{
238-
ArrayPool<ReadWriteErrorCode>.Shared.Return(results);
239-
}
232+
ReadWriteErrorHelpers.ThrowIfHasErrors("Read", dataItems, results.AsSpan(0, dataItems.Length));
233+
ArrayPool<ReadWriteErrorCode>.Shared.Return(results);
240234
}
241235

242236
/// <summary>
@@ -297,16 +291,10 @@ public async Task ReadAsync(IDataItem[] dataItems, Memory<ReadWriteErrorCode> re
297291
public async Task WriteAsync(IDataItem[] dataItems, CancellationToken cancellationToken = default)
298292
{
299293
var results = ArrayPool<ReadWriteErrorCode>.Shared.Rent(dataItems.Length);
300-
try
301-
{
302-
await WriteAsync(dataItems, results, cancellationToken).ConfigureAwait(false);
294+
await WriteAsync(dataItems, results, cancellationToken).ConfigureAwait(false);
303295

304-
ReadWriteErrorHelpers.ThrowIfHasErrors("Write", dataItems, results.AsSpan(0, dataItems.Length));
305-
}
306-
finally
307-
{
308-
ArrayPool<ReadWriteErrorCode>.Shared.Return(results);
309-
}
296+
ReadWriteErrorHelpers.ThrowIfHasErrors("Write", dataItems, results.AsSpan(0, dataItems.Length));
297+
ArrayPool<ReadWriteErrorCode>.Shared.Return(results);
310298
}
311299

312300
/// <summary>

0 commit comments

Comments
 (0)