restic/changelog
Michael Eischer 8d0ba55ecd backup: Fix possible deadlock of scanner goroutine
When the backup is interrupted for some reason while the scanner is
still active this could lead to a deadlock. Interruptions are triggered
by canceling the context object used by both the backup progress UI and
the scanner. It is possible that a context is canceled between the
respective check in the scanner and it calling the `ReportTotal` method
of the UI. The latter method sends a message to the UI goroutine.
However, a canceled context will also stop that goroutine, which can
cause the channel send operation to block indefinitely.

This is resolved by adding a `closed` channel which is closed once the
UI goroutine is stopped and serves as an escape hatch for reported UI
updates.

This change covers not just the ReportTotal method but all potentially
affected methods of the progress UI implementation.
2020-09-30 23:13:10 +02:00
..
0.6.0_2017-05-29 Update changelog/ for new version of calens 2018-02-16 23:05:58 +01:00
0.6.1_2017-06-01 Update changelog/ for new version of calens 2018-02-16 23:05:58 +01:00
0.7.0_2017-07-01 Update changelog/ for new version of calens 2018-02-16 23:05:58 +01:00
0.7.1_2017-07-22 Correct typo 2018-04-30 21:41:30 +02:00
0.7.2_2017-09-13 Update changelog/ for new version of calens 2018-02-16 23:05:58 +01:00
0.7.3_2017-09-20 Update changelog/ for new version of calens 2018-02-16 23:05:58 +01:00
0.8.0_2017-11-26 Fix typos 2020-05-16 14:05:26 +08:00
0.8.1_2017-12-27 Update changelog/ for new version of calens 2018-02-16 23:05:58 +01:00
0.8.2_2018-02-17 changelog: Add release date for 0.8.2 2018-02-17 20:26:43 +01:00
0.8.3_2018-02-26 Move changelog entries to unreleased version 2018-03-05 20:32:10 +01:00
0.9.0_2018-05-21 Remove superseded feature from the CHANGELOG 2018-05-22 20:57:07 +02:00
0.9.1_2018-06-10 Fix changelog entry 2018-06-10 11:29:57 +02:00
0.9.2_2018-08-06 Create changelog/ release subdir for 0.9.2 2018-08-06 21:28:16 +02:00
0.9.3_2018-10-13 Correct summary for #1978 2018-10-28 20:55:49 +01:00
0.9.4_2019-01-06 Create changelog dir for 0.9.4 2019-01-06 21:39:56 +01:00
0.9.5_2019-04-23 Move changelog entry for #2179 2019-11-24 15:15:19 +01:00
0.9.6_2019-11-22 Move changelog entry for #2179 2019-11-24 15:15:19 +01:00
0.10.0_2020-09-19 Prepare changelog for 0.10.0 2020-09-19 17:37:59 +02:00
unreleased backup: Fix possible deadlock of scanner goroutine 2020-09-30 23:13:10 +02:00
changelog-github.tmpl Fix linebreak in GitHub changelog template 2018-02-26 21:41:37 +01:00
CHANGELOG.tmpl Fix template for new version of calens 2020-01-01 11:58:21 +01:00
TEMPLATE changelog: Fix typo in TEMPLATE. 2019-11-22 17:32:56 +01:00