Fix some more issues with disposing Process instances

This commit is contained in:
Mark Monteiro 2020-03-27 01:53:08 +01:00
parent d705931e81
commit 1f5caa46c5
2 changed files with 57 additions and 51 deletions

View File

@ -577,10 +577,10 @@ namespace MediaBrowser.MediaEncoding.Encoder
WindowStyle = ProcessWindowStyle.Hidden, WindowStyle = ProcessWindowStyle.Hidden,
ErrorDialog = false, ErrorDialog = false,
}; };
_logger.LogDebug("{0} {1}", processStartInfo.FileName, processStartInfo.Arguments);
var process = new Process { StartInfo = processStartInfo, EnableRaisingEvents = true }; var process = new Process { StartInfo = processStartInfo, EnableRaisingEvents = true };
_logger.LogDebug("{0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments);
using (var processWrapper = new ProcessWrapper(process, this)) using (var processWrapper = new ProcessWrapper(process, this))
{ {
bool ranToCompletion; bool ranToCompletion;
@ -706,14 +706,14 @@ namespace MediaBrowser.MediaEncoding.Encoder
WindowStyle = ProcessWindowStyle.Hidden, WindowStyle = ProcessWindowStyle.Hidden,
ErrorDialog = false ErrorDialog = false
}; };
var process = new Process { StartInfo = processStartInfo, EnableRaisingEvents = true };
_logger.LogInformation(process.StartInfo.FileName + " " + process.StartInfo.Arguments); _logger.LogInformation(processStartInfo.FileName + " " + processStartInfo.Arguments);
await _thumbnailResourcePool.WaitAsync(cancellationToken).ConfigureAwait(false); await _thumbnailResourcePool.WaitAsync(cancellationToken).ConfigureAwait(false);
bool ranToCompletion = false; bool ranToCompletion = false;
var process = new Process { StartInfo = processStartInfo, EnableRaisingEvents = true };
using (var processWrapper = new ProcessWrapper(process, this)) using (var processWrapper = new ProcessWrapper(process, this))
{ {
try try

View File

@ -435,9 +435,11 @@ namespace MediaBrowser.MediaEncoding.Subtitles
WindowStyle = ProcessWindowStyle.Hidden, WindowStyle = ProcessWindowStyle.Hidden,
ErrorDialog = false ErrorDialog = false
}; };
var process = new Process { StartInfo = processStartInfo, EnableRaisingEvents = true };
process.Exited += (sender, args) => ((Process)sender).Dispose();
int exitCode;
using (var process = new Process { StartInfo = processStartInfo, EnableRaisingEvents = true })
{
_logger.LogInformation("{0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments); _logger.LogInformation("{0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments);
try try
@ -467,7 +469,8 @@ namespace MediaBrowser.MediaEncoding.Subtitles
} }
} }
var exitCode = ranToCompletion ? process.ExitCode : -1; exitCode = ranToCompletion ? process.ExitCode : -1;
}
var failed = false; var failed = false;
@ -583,9 +586,11 @@ namespace MediaBrowser.MediaEncoding.Subtitles
WindowStyle = ProcessWindowStyle.Hidden, WindowStyle = ProcessWindowStyle.Hidden,
ErrorDialog = false ErrorDialog = false
}; };
var process = new Process { StartInfo = processStartInfo, EnableRaisingEvents = true };
process.Exited += (sender, args) => ((Process)sender).Dispose();
int exitCode;
using (var process = new Process { StartInfo = processStartInfo, EnableRaisingEvents = true })
{
_logger.LogInformation("{File} {Arguments}", process.StartInfo.FileName, process.StartInfo.Arguments); _logger.LogInformation("{File} {Arguments}", process.StartInfo.FileName, process.StartInfo.Arguments);
try try
@ -615,7 +620,8 @@ namespace MediaBrowser.MediaEncoding.Subtitles
} }
} }
var exitCode = ranToCompletion ? process.ExitCode : -1; exitCode = ranToCompletion ? process.ExitCode : -1;
}
var failed = false; var failed = false;