INNER CODE UNIT · Go
writeFileAtomic
cc1a2b/JShunter · internal/jshunter/cache.go:139
func writeFileAtomic(path string, data []byte, perm os.FileMode) error {
tmp, err := os.CreateTemp(filepath.Dir(path), "."+filepath.Base(path)+".tmp-*")
if err != nil {
return err
}
tmpName := tmp.Name()
// Best-effort cleanup if we bail before the rename commits.
defer func() {
if tmpName != "" {
os.Remove(tmpName)
}
}()
if err := tmp.Chmod(perm); err != nil {
tmp.Close()
return err
}
if _, err := tmp.Write(data); err != nil {
tmp.Close()