restic/internal
Michael Eischer debc4a3a99 archiver: fix race condition during worker startup
When the tomb is created with a canceled context, then the workers
started via `t.Go` exist nearly immediately. Once for the first time all
started goroutines have been stopped, it is not allowed to issue further
calls to `t.Go`. This is a problem when the started goroutines exit
immediately, as for example the first goroutine might already have
stopped before starting the second one, which is not allowed as once the
first goroutines has stopped no goroutines were running.

To fix this race condition the startup and main task of the archiver now
also run within a `t.Go` function. This also allows unifying the error
handling as it is no longer necessary to distinguish between errors
returned by the workers or the saveTree processing. The tomb now just
returns the first error encountered, which should also be the most
descriptive one.
2020-12-30 17:31:22 +01:00
..
archiver archiver: fix race condition during worker startup 2020-12-30 17:31:22 +01:00
backend Merge pull request #3164 from MichaelEischer/improve-context-cancel 2020-12-29 17:03:42 +01:00
cache Less repetitive error messages in internal/cache 2020-10-05 20:28:54 +02:00
checker check: remove file size counter 2020-12-23 02:34:31 +01:00
crypto crypto: Remove unused error 2020-09-05 10:07:16 +02:00
debug Allow debug logging to pipes and terminals 2020-10-19 22:30:30 +02:00
dump Deduplicate dumper closing logic 2020-12-19 02:42:46 +03:00
errors Don't retry when "no space left on device" in local backend 2020-12-17 12:43:09 +01:00
filter filter: Fix glob matching on absolute path marker on windows 2020-10-09 16:11:05 +02:00
fs vss: fix DeleteSnapshots() and GetSnapshotProperties() on 386 2020-11-12 19:31:00 +01:00
fuse fuse: Properly set uid/gid for directories 2020-11-30 23:41:49 +01:00
hashing Micro-optimization for hashing.Writer/PackerManager 2020-03-05 22:30:04 +01:00
limiter rclone: Respect bandwith limits 2018-05-22 20:48:17 +02:00
migrations Fix issues reported by semgrep 2020-12-11 09:41:59 +01:00
mock mock: Remove unused repository type 2019-04-13 13:38:39 +02:00
options Some options fixes 2020-12-23 23:26:04 +03:00
pack Make BlobHandle substruct of Blob 2020-11-22 20:41:10 +01:00
repository repository: tweak comment for packs method 2020-12-22 23:01:58 +01:00
restic AIX port 2020-12-29 01:35:01 +01:00
restorer Fix issues reported by semgrep 2020-12-11 09:41:59 +01:00
selfupdate self-update: Don't cancel download after 30 seconds 2019-02-23 11:15:18 +01:00
test helpers: Improve error message 2020-11-12 20:38:31 +01:00
textfile Remove io.Writer from fs.File 2020-09-21 14:21:32 +02:00
ui AIX port 2020-12-29 01:35:01 +01:00
walker Remove a few redundant type specifiers 2020-10-06 14:55:13 +02:00