diff --git a/Duplicati/Library/Main/Operation/Backup/BackendUploader.cs b/Duplicati/Library/Main/Operation/Backup/BackendUploader.cs index cf6a4c2b3..a7ed6418b 100644 --- a/Duplicati/Library/Main/Operation/Backup/BackendUploader.cs +++ b/Duplicati/Library/Main/Operation/Backup/BackendUploader.cs @@ -39,6 +39,12 @@ namespace Duplicati.Library.Main.Operation.Backup { public Task LastWriteSizeAsync { get { return m_tcs.Task; } } private readonly TaskCompletionSource m_tcs = new TaskCompletionSource(); + + public void TrySetCanceled() + { + m_tcs.TrySetCanceled(); + } + public void SetFlushed(long size) { m_tcs.TrySetResult(size); @@ -171,6 +177,7 @@ namespace Duplicati.Library.Main.Operation.Backup Task finishedTask = await Task.WhenAny(workers.Select(w => w.Task)).ConfigureAwait(false); if (finishedTask.IsFaulted) { + flush.TrySetCanceled(); ExceptionDispatchInfo.Capture(finishedTask.Exception).Throw(); }