[autofile] close file before renaming it

this might fix our windows bug https://github.com/tendermint/tendermint/issues/444

0980f8e197
This commit is contained in:
Anton Kaliaev 2017-05-06 22:48:08 +04:00
parent 8f5a175ff4
commit 74a7f8c92b
No known key found for this signature in database
GPG Key ID: 7B6881D965918214
1 changed files with 7 additions and 5 deletions

View File

@ -224,15 +224,17 @@ func (g *Group) RotateFile() {
g.mtx.Lock()
defer g.mtx.Unlock()
dstPath := filePathForIndex(g.Head.Path, g.maxIndex, g.maxIndex+1)
err := os.Rename(g.Head.Path, dstPath)
if err != nil {
headPath := g.Head.Path
if err := g.Head.closeFile(); err != nil {
panic(err)
}
err = g.Head.closeFile()
if err != nil {
indexPath := filePathForIndex(headPath, g.maxIndex, g.maxIndex+1)
if err := os.Rename(headPath, indexPath); err != nil {
panic(err)
}
g.maxIndex += 1
}