forked from TrueCloudLab/restic
3304b0fcf0
This is a fix for the following situation (gh-1188): List() grabs a semaphore token upon entry, starts a goroutine, and does not release the token until the routine exits (via a defer). The goroutine iterates over the results from ListCurrentObjects(), sending them one at a time to a channel, where they are ultimately processed by be.Load(). Since be.Load() also needs a token, this will result in deadlock if b2.connections=1. This fix changes List() so that the token is only held during the call to ListCurrentObjects(). |
||
---|---|---|
.. | ||
archiver | ||
backend | ||
cache | ||
checker | ||
crypto | ||
debug | ||
errors | ||
filter | ||
fs | ||
fuse | ||
hashing | ||
index | ||
limiter | ||
list | ||
migrations | ||
mock | ||
options | ||
pack | ||
pipe | ||
repository | ||
restic | ||
test | ||
walk | ||
worker |