diff --git a/common/os.go b/common/os.go index 47ae4a1cc..8a0c14f46 100644 --- a/common/os.go +++ b/common/os.go @@ -148,6 +148,9 @@ func WriteFileAtomic(filename string, data []byte, perm os.FileMode) error { } else if n < len(data) { return io.ErrShortWrite } + // Close the file before renaming it, otherwise it will cause "The process + // cannot access the file because it is being used by another process." on windows or + // cause "cross-link error" on linux when you try to save it to another partition. f.Close() return os.Rename(f.Name(), filename)