forked from TrueCloudLab/rclone
vendor: update github.com/ncw/swift to fix memory leak in swift transfers
This commit is contained in:
parent
115053930e
commit
567071750b
5 changed files with 15 additions and 8 deletions
9
vendor/github.com/ncw/swift/largeobjects.go
generated
vendored
9
vendor/github.com/ncw/swift/largeobjects.go
generated
vendored
|
@ -276,8 +276,9 @@ func (file *largeObjectCreateFile) Size() int64 {
|
|||
}
|
||||
|
||||
func withLORetry(expectedSize int64, fn func() (Headers, int64, error)) (err error) {
|
||||
endTimer := time.NewTimer(readAfterWriteTimeout)
|
||||
defer endTimer.Stop()
|
||||
waitingTime := readAfterWriteWait
|
||||
endTimer := time.After(readAfterWriteTimeout)
|
||||
for {
|
||||
var headers Headers
|
||||
var sz int64
|
||||
|
@ -288,11 +289,13 @@ func withLORetry(expectedSize int64, fn func() (Headers, int64, error)) (err err
|
|||
} else {
|
||||
return
|
||||
}
|
||||
waitTimer := time.NewTimer(waitingTime)
|
||||
select {
|
||||
case <-endTimer:
|
||||
case <-endTimer.C:
|
||||
waitTimer.Stop()
|
||||
err = fmt.Errorf("Timeout expired while waiting for object to have size == %d, got: %d", expectedSize, sz)
|
||||
return
|
||||
case <-time.After(waitingTime):
|
||||
case <-waitTimer.C:
|
||||
waitingTime *= 2
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue