Make sure Process objects are all disposed correctly

This commit is contained in:
Mark Monteiro 2020-03-27 00:49:22 +01:00
parent b947d98266
commit 7447ea8960
2 changed files with 12 additions and 7 deletions

View File

@ -290,9 +290,11 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
/// </summary>
private void OnFfMpegProcessExited(Process process, string inputFile)
{
_hasExited = true;
try
{
_hasExited = true;
_logFileStream?.Dispose();
_logFileStream?.Dispose();
_logFileStream = null;
var exitCode = process.ExitCode;
@ -311,7 +313,12 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
CultureInfo.InvariantCulture,
"Recording for {0} failed. Exit code {1}",
_targetPath,
exitCode)));
exitCode)));
}
}
finally
{
process.Dispose();
}
}

View File

@ -436,6 +436,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles
ErrorDialog = false
};
var process = new Process { StartInfo = processStartInfo, EnableRaisingEvents = true };
process.Exited += (sender, args) => ((Process)sender).Dispose();
_logger.LogInformation("{0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments);
@ -468,8 +469,6 @@ namespace MediaBrowser.MediaEncoding.Subtitles
var exitCode = ranToCompletion ? process.ExitCode : -1;
process.Dispose();
var failed = false;
if (exitCode == -1)
@ -585,6 +584,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles
ErrorDialog = false
};
var process = new Process { StartInfo = processStartInfo, EnableRaisingEvents = true };
process.Exited += (sender, args) => ((Process)sender).Dispose();
_logger.LogInformation("{File} {Arguments}", process.StartInfo.FileName, process.StartInfo.Arguments);
@ -617,8 +617,6 @@ namespace MediaBrowser.MediaEncoding.Subtitles
var exitCode = ranToCompletion ? process.ExitCode : -1;
process.Dispose();
var failed = false;
if (exitCode == -1)