From 818e162fffbcdf11d1ad22b00e4e502793d07d7d Mon Sep 17 00:00:00 2001 From: Paul Bellamy Date: Wed, 20 May 2015 10:18:42 +0100 Subject: [PATCH] [proxy] use exec instead of run, to replace weavewait with subprocess Closes #708 --- weavewait/main.go | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/weavewait/main.go b/weavewait/main.go index c4f52549..abd5bf76 100644 --- a/weavewait/main.go +++ b/weavewait/main.go @@ -4,6 +4,7 @@ import ( "fmt" "os" "os/exec" + "syscall" "github.com/weaveworks/weave/net" ) @@ -16,11 +17,15 @@ func main() { if len(os.Args) <= 1 { os.Exit(0) } - cmd := exec.Command(os.Args[1], os.Args[2:]...) - cmd.Stdin = os.Stdin - cmd.Stdout = os.Stdout - cmd.Stderr = os.Stderr - if err := cmd.Run(); err != nil { + + binary, err := exec.LookPath(os.Args[1]) + if err != nil { + fmt.Fprintln(os.Stderr, err) + os.Exit(1) + } + + if err := syscall.Exec(binary, os.Args[1:], os.Environ()); err != nil { + fmt.Fprintln(os.Stderr, err) os.Exit(1) } }