Fix output pipe hanging on unix sockets

Former-commit-id: 9feb9f5a22
This commit is contained in:
Malte Rosenbjerg 2020-10-27 00:49:49 +01:00
parent b0e3d157d3
commit b2c28adcd4
2 changed files with 4 additions and 6 deletions

View file

@ -38,12 +38,12 @@ public async Task During(CancellationToken cancellationToken = default)
{
try
{
await ProcessDataAsync(cancellationToken ?? CancellationToken.None).ConfigureAwait(false);
await ProcessDataAsync(cancellationToken);
}
catch (TaskCanceledException)
{
}
Post();
Pipe.Disconnect();
}
protected abstract Task ProcessDataAsync(CancellationToken token);

View file

@ -63,9 +63,8 @@ void OnCancelEvent(object sender, EventArgs args)
Task.WaitAll(instance.FinishedRunning().ContinueWith(t =>
{
errorCode = t.Result;
cancellationTokenSource.Cancel();
_ffMpegArguments.Post();
}), _ffMpegArguments.During(cancellationTokenSource.Token));
_ffMpegArguments.Post();
}
catch (Exception e)
{
@ -108,7 +107,7 @@ void OnCancelEvent(object sender, EventArgs args)
await Task.WhenAll(instance.FinishedRunning().ContinueWith(t =>
{
errorCode = t.Result;
cancellationTokenSource.Cancel();
_ffMpegArguments.Post();
}), _ffMpegArguments.During(cancellationTokenSource.Token)).ConfigureAwait(false);
}
catch (Exception e)
@ -118,7 +117,6 @@ await Task.WhenAll(instance.FinishedRunning().ContinueWith(t =>
finally
{
CancelEvent -= OnCancelEvent;
_ffMpegArguments.Post();
}
return HandleCompletion(throwOnError, errorCode, instance.ErrorData);