diff --git a/lib/annotate.go b/lib/annotate.go index 85d87c6..dbab6b7 100644 --- a/lib/annotate.go +++ b/lib/annotate.go @@ -277,6 +277,7 @@ func (ea *externalAnnotator) Annotate(rd io.Reader) <-chan Annotation { go func() { defer close(out) + defer cmd.Wait() for { start, err := ea.readUint64(stdout) diff --git a/lib/shell_command.go b/lib/shell_command.go index 2e10aa3..e76b662 100644 --- a/lib/shell_command.go +++ b/lib/shell_command.go @@ -40,6 +40,7 @@ func NewShellCommand(c string, ctx Context) (ShellCommand, error) { sc.Reader = io.MultiReader(stdout, stderr) err = sc.cmd.Start() + go func() { sc.cmd.Wait() }() return sc, err }