}
func isModified(dep *Dep, tgt *Tgt) (
- modified bool, ourInode Inode, hshPrev Hash, err error,
+ modified bool, ourInode *Inode, hshPrev Hash, err error,
) {
if dep == nil {
return
var cmdName string
var args []string
if err = unix.Access(doFile.rel, unix.X_OK); err == nil {
- cmdName = doFileT
+ cmdName = doFile.a
args = make([]string, 0, 3)
} else {
cmdName = "/bin/sh"
line = scanner.Text()
if strings.HasPrefix(line, childStderrPrefix) {
line = line[len(childStderrPrefix):]
- LogMutex.Lock()
- os.Stderr.WriteString(StderrPrefix + line + "\n")
- LogMutex.Unlock()
+ if StderrPrefix == "" {
+ withPrependedTgt(line)
+ } else {
+ stderrWrite(StderrPrefix + line + "\n")
+ }
continue
}
if fdStderr != nil {
if StderrSilent {
continue
}
- if MyPid == 0 {
- tracef(CNone, "%s", line)
+ if MyPID != 0 {
+ line = pid + " " + line
+ }
+ if StderrPrefix == "" {
+ withPrependedTgt("[" + tgt.rel + "]" + line)
} else {
- tracef(CNone, "%s %s", pid, line)
+ stderrWrite(StderrPrefix + "[" + tgt.rel + "]" + line + "\n")
}
}
close(stderrTerm)
// Was $1 touched?
if inode, err := inodeFromFileByPath(tgt.a); err == nil {
- if inodePrev == "" {
+ if inodePrev == nil {
runErr.Err = Err1WasTouched
errs <- runErr
return