Skip to content

Commit 52d37fe

Browse files
committed
Merge pull request #189 from ebfe/cache-file
Various cache file handling fixes
2 parents 079c926 + dee646a commit 52d37fe

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

pkg/api/cache.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,16 +181,22 @@ func (c *ScalewayCache) Save() error {
181181
logrus.Debugf("Writing cache file to disk")
182182

183183
if c.Modified {
184-
file, err := ioutil.TempFile("", "")
184+
file, err := ioutil.TempFile(filepath.Dir(c.Path), filepath.Base(c.Path))
185185
if err != nil {
186186
return err
187187
}
188+
defer file.Close()
188189
encoder := json.NewEncoder(file)
189190
err = encoder.Encode(*c)
190191
if err != nil {
192+
os.Remove(file.Name())
193+
return err
194+
}
195+
196+
if err := os.Rename(file.Name(), c.Path); err != nil {
197+
os.Remove(file.Name())
191198
return err
192199
}
193-
return os.Rename(file.Name(), c.Path)
194200
}
195201
return nil
196202
}

0 commit comments

Comments
 (0)