"errors"
"fmt"
"io"
+ "log"
"os"
"path"
"path/filepath"
trace(CDebug, "ood: %s%s -> already built", indent, tgtOrig)
return false, nil
}
+ if _, err := os.Stat(path.Join(cwd, tgt)); err != nil && os.IsNotExist(err) {
+ trace(CDebug, "ood: %s%s -> non-existent", indent, tgtOrig)
+ return true, nil
+ }
ood := false
for _, dep := range depInfo.ifcreates {
}
theirInode, err := inodeFromRec(m)
if err != nil {
- return ood, TgtErr{tgtOrig, fmt.Errorf("invalid format of .rec: %v", err)}
+ return ood, TgtErr{tgtOrig, fmt.Errorf("invalid format of .rec: %w", err)}
}
theirHsh := m["Hash"]
trace(CDebug, "ood: %s%s -> %s: checking", indent, tgtOrig, dep)
}
RecordOODTgt:
if err = unix.Flock(int(FdOODTgtsLock.Fd()), unix.LOCK_EX); err != nil {
- panic(err)
+ log.Fatalln(err)
}
if _, err = FdOODTgts.Seek(0, io.SeekEnd); err != nil {
- panic(err)
+ log.Fatalln(err)
}
if _, err := FdOODTgts.WriteString(p + "\x00"); err != nil {
- panic(err)
+ log.Fatalln(err)
}
unix.Flock(int(FdOODTgtsLock.Fd()), unix.LOCK_UN)
return true, nil
func oodTgtsClear() {
if err := unix.Flock(int(FdOODTgtsLock.Fd()), unix.LOCK_EX); err != nil {
- panic(err)
+ log.Fatalln(err)
}
if err := FdOODTgts.Truncate(0); err != nil {
- panic(err)
+ log.Fatalln(err)
}
unix.Flock(int(FdOODTgtsLock.Fd()), unix.LOCK_UN)
}