mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-09-06 11:34:57 +02:00
IAsyncDisposable is one big pitfall
https://docs.microsoft.com/en-us/dotnet/standard/garbage-collection/implementing-disposeasync#unacceptable-pattern Regex used: ``` await using \(.+\) \W+await using ```
This commit is contained in:
parent
77c73e241f
commit
754bda8f73
2 changed files with 11 additions and 7 deletions
|
@ -545,12 +545,14 @@ namespace Jellyfin.Server
|
||||||
const string ResourcePath = "Jellyfin.Server.Resources.Configuration.logging.json";
|
const string ResourcePath = "Jellyfin.Server.Resources.Configuration.logging.json";
|
||||||
Stream resource = typeof(Program).Assembly.GetManifestResourceStream(ResourcePath)
|
Stream resource = typeof(Program).Assembly.GetManifestResourceStream(ResourcePath)
|
||||||
?? throw new InvalidOperationException($"Invalid resource path: '{ResourcePath}'");
|
?? throw new InvalidOperationException($"Invalid resource path: '{ResourcePath}'");
|
||||||
Stream dst = new FileStream(configPath, FileMode.CreateNew, FileAccess.Write, FileShare.None, IODefaults.FileStreamBufferSize, FileOptions.Asynchronous);
|
|
||||||
await using (resource.ConfigureAwait(false))
|
await using (resource.ConfigureAwait(false))
|
||||||
await using (dst.ConfigureAwait(false))
|
|
||||||
{
|
{
|
||||||
// Copy the resource contents to the expected file path for the config file
|
Stream dst = new FileStream(configPath, FileMode.CreateNew, FileAccess.Write, FileShare.None, IODefaults.FileStreamBufferSize, FileOptions.Asynchronous);
|
||||||
await resource.CopyToAsync(dst).ConfigureAwait(false);
|
await using (dst.ConfigureAwait(false))
|
||||||
|
{
|
||||||
|
// Copy the resource contents to the expected file path for the config file
|
||||||
|
await resource.CopyToAsync(dst).ConfigureAwait(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -681,11 +681,13 @@ namespace MediaBrowser.MediaEncoding.Subtitles
|
||||||
if (!string.Equals(text, newText, StringComparison.Ordinal))
|
if (!string.Equals(text, newText, StringComparison.Ordinal))
|
||||||
{
|
{
|
||||||
var fileStream = new FileStream(file, FileMode.Create, FileAccess.Write, FileShare.None, IODefaults.FileStreamBufferSize, FileOptions.Asynchronous);
|
var fileStream = new FileStream(file, FileMode.Create, FileAccess.Write, FileShare.None, IODefaults.FileStreamBufferSize, FileOptions.Asynchronous);
|
||||||
var writer = new StreamWriter(fileStream, encoding);
|
|
||||||
await using (fileStream.ConfigureAwait(false))
|
await using (fileStream.ConfigureAwait(false))
|
||||||
await using (writer.ConfigureAwait(false))
|
|
||||||
{
|
{
|
||||||
await writer.WriteAsync(newText.AsMemory(), cancellationToken).ConfigureAwait(false);
|
var writer = new StreamWriter(fileStream, encoding);
|
||||||
|
await using (writer.ConfigureAwait(false))
|
||||||
|
{
|
||||||
|
await writer.WriteAsync(newText.AsMemory(), cancellationToken).ConfigureAwait(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue