From baa779fb3170fe155f479cf96d5ce013e2a6431c Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 7 May 2013 14:57:27 -0400 Subject: [PATCH] improve stream disposal --- .../IO/DirectoryWatchers.cs | 16 +++++----------- .../Providers/ProviderManager.cs | 8 ++++---- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs b/MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs index 5413cefc3d..beeb1c181c 100644 --- a/MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs +++ b/MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs @@ -410,11 +410,13 @@ namespace MediaBrowser.Server.Implementations.IO return false; } - FileStream stream = null; - try { - stream = new FileStream(path, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); + using (new FileStream(path, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite)) + { + //file is not locked + return false; + } } catch { @@ -424,14 +426,6 @@ namespace MediaBrowser.Server.Implementations.IO //or does not exist (has already been processed) return true; } - finally - { - if (stream != null) - stream.Close(); - } - - //file is not locked - return false; } /// diff --git a/MediaBrowser.Server.Implementations/Providers/ProviderManager.cs b/MediaBrowser.Server.Implementations/Providers/ProviderManager.cs index 569fb8e022..12cc859129 100644 --- a/MediaBrowser.Server.Implementations/Providers/ProviderManager.cs +++ b/MediaBrowser.Server.Implementations/Providers/ProviderManager.cs @@ -457,9 +457,9 @@ namespace MediaBrowser.Server.Implementations.Providers { var ms = new MemoryStream(); - using (var input = dataToSave) + using (dataToSave) { - await input.CopyToAsync(ms).ConfigureAwait(false); + await dataToSave.CopyToAsync(ms).ConfigureAwait(false); } ms.Position = 0; @@ -470,9 +470,9 @@ namespace MediaBrowser.Server.Implementations.Providers { using (var fs = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.Read, StreamDefaults.DefaultFileStreamBufferSize, FileOptions.Asynchronous)) { - using (var input = dataToSave) + using (dataToSave) { - await input.CopyToAsync(fs, StreamDefaults.DefaultCopyToBufferSize, cancellationToken).ConfigureAwait(false); + await dataToSave.CopyToAsync(fs, StreamDefaults.DefaultCopyToBufferSize, cancellationToken).ConfigureAwait(false); } }