2
2
mirror of https://github.com/octoleo/restic.git synced 2025-01-22 14:48:24 +00:00
restic/internal
George Armhold 3304b0fcf0 prevent deadlock in List() for B2 when b2.connections=1
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().
2017-10-28 18:46:47 -04:00
..
2017-10-02 15:06:39 +02:00
2017-10-25 12:03:55 -04:00
2017-10-25 12:03:55 -04:00
2017-10-28 12:09:33 +02:00
2017-07-23 14:21:03 +02:00
2017-07-23 14:19:13 +02:00
2017-09-11 21:48:25 +02:00
2017-10-16 16:22:08 +02:00
2017-07-23 14:19:13 +02:00
2017-07-23 14:21:03 +02:00
2017-10-02 15:06:39 +02:00
2017-10-25 12:03:55 -04:00
2017-10-28 10:28:29 +02:00
2017-10-02 15:06:39 +02:00
2017-07-23 14:21:03 +02:00