diff --git a/common/os.go b/common/os.go index 60a4217aa..00f4da57b 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. + f.Close() return os.Rename(f.Name(), filename) }