X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=run.go;h=c0d6eda2fd0f31920d13034e28592fa05ace013c;hb=b3631f17ba7427e538e8f6bd84ac4ead1aaab3f2;hp=32e38004e449b8fc5c814e4780e615866b1bcc2d;hpb=9a3672beade5d5f20f991bb0aba159110814bb31;p=goredo.git diff --git a/run.go b/run.go index 32e3800..c0d6eda 100644 --- a/run.go +++ b/run.go @@ -265,6 +265,7 @@ func runScript(tgtOrig string, errs chan error, traced bool) error { Finish: if err != nil { err = TgtError{tgtOrig, err} + fdLock.Close() } errs <- err }() @@ -458,6 +459,9 @@ func runScript(tgtOrig string, errs chan error, traced bool) error { runErr.Started = &started fdStdout, err = os.OpenFile(stdoutPath, os.O_RDWR, os.FileMode(0666)) if err != nil { + if fdStderr != nil { + fdStderr.Close() + } runErr.Err = err errs <- runErr return @@ -465,6 +469,10 @@ func runScript(tgtOrig string, errs chan error, traced bool) error { cmd.Stdout = fdStdout fdDep, err = os.OpenFile(fdDepPath, os.O_WRONLY|os.O_APPEND, os.FileMode(0666)) if err != nil { + if fdStderr != nil { + fdStderr.Close() + } + fdStdout.Close() runErr.Err = err errs <- runErr return