From 4e5fd46bc64ba608ee75bb293eb998c5f1e6203d Mon Sep 17 00:00:00 2001 From: Sauyon Lee Date: Wed, 15 Jan 2020 01:46:23 -0800 Subject: [PATCH] autobuilder: Close stdin of subprocesses This fixes issues where build programs were prompting for input, causing the build to hang indefinitely. --- extractor/cli/go-autobuilder/go-autobuilder.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/extractor/cli/go-autobuilder/go-autobuilder.go b/extractor/cli/go-autobuilder/go-autobuilder.go index 3fe1cb45d01..bb7a8c48004 100644 --- a/extractor/cli/go-autobuilder/go-autobuilder.go +++ b/extractor/cli/go-autobuilder/go-autobuilder.go @@ -56,7 +56,14 @@ func fileExists(filename string) bool { func run(cmd *exec.Cmd) bool { cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr - err := cmd.Run() + in, _ := cmd.StdinPipe() + err := cmd.Start() + if err != nil { + log.Printf("Running %s failed, continuing anyway: %s\n", cmd.Path, err.Error()) + return false + } + in.Close() + err = cmd.Wait() if err != nil { log.Printf("Running %s failed, continuing anyway: %s\n", cmd.Path, err.Error()) return false