diff --git a/os/osutil/writefileatomic.go b/os/osutil/writefileatomic.go index b1821f8..f669895 100644 --- a/os/osutil/writefileatomic.go +++ b/os/osutil/writefileatomic.go @@ -70,6 +70,11 @@ func WriteFileAtomic(filename string, produce func(io.Writer) error, options ... } } + // `Close()` alone doesn't guarantee that the data has been successfully saved to disk. + if err := file.Sync(); err != nil { + return err + } + if err := file.Close(); err != nil { // double close intentional return err }