Move defer lock release to before error check so the lock is guaranteed to be released.
parent
a7cbc76d88
commit
ad356d5508
|
@ -54,10 +54,10 @@ func Binary(binary, version, osName, archName string) (string, error) {
|
|||
}
|
||||
|
||||
releaser, err := lockDownload(targetLock)
|
||||
defer releaser.Release()
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
defer releaser.Release()
|
||||
|
||||
if _, err := checkCache(targetFilepath); err == nil {
|
||||
klog.Infof("Not caching binary, using %s", url)
|
||||
|
|
|
@ -86,10 +86,10 @@ func ImageToCache(img string) error {
|
|||
fileLock := f + ".lock"
|
||||
|
||||
releaser, err := lockDownload(fileLock)
|
||||
defer releaser.Release()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer releaser.Release()
|
||||
|
||||
if checkImageExistsInCache(img) {
|
||||
klog.Infof("%s exists in cache, skipping pull", img)
|
||||
|
@ -167,10 +167,10 @@ func ImageToDaemon(img string) error {
|
|||
fileLock = localpath.SanitizeCacheDir(fileLock)
|
||||
|
||||
releaser, err := lockDownload(fileLock)
|
||||
defer releaser.Release()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer releaser.Release()
|
||||
|
||||
if checkImageExistsInDaemon(img) {
|
||||
klog.Infof("%s exists in daemon, skipping pull", img)
|
||||
|
|
|
@ -132,10 +132,10 @@ func Preload(k8sVersion, containerRuntime string) error {
|
|||
targetLock := targetPath + ".lock"
|
||||
|
||||
releaser, err := lockDownload(targetLock)
|
||||
defer releaser.Release()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer releaser.Release()
|
||||
|
||||
if _, err := checkCache(targetPath); err == nil {
|
||||
klog.Infof("Found %s in cache, skipping download", targetPath)
|
||||
|
|
Loading…
Reference in New Issue