+var NoSync bool
+
+func init() {
+ NoSync = os.Getenv(CfgNoSync) != ""
+}
+
+func TempFile(dir, prefix string) (*os.File, error) {
+ // Assume that probability of suffix collision is negligible
+ suffix := strconv.FormatInt(time.Now().UnixNano()+int64(os.Getpid()), 16)
+ name := filepath.Join(dir, "nncp"+prefix+suffix)
+ return os.OpenFile(name, os.O_RDWR|os.O_CREATE|os.O_EXCL, os.FileMode(0666))
+}
+