From 791b304870044f478fcd7fcd095157c63c55b978 Mon Sep 17 00:00:00 2001 From: Arne Juul Date: Thu, 29 Sep 2022 13:06:45 +0000 Subject: use unix.Exec --- .../go/script-utils/startcbinary/startcbinary.go | 29 ++++++---------------- 1 file changed, 7 insertions(+), 22 deletions(-) (limited to 'client/go/script-utils/startcbinary/startcbinary.go') diff --git a/client/go/script-utils/startcbinary/startcbinary.go b/client/go/script-utils/startcbinary/startcbinary.go index 54b92d3ef06..92f09d9098c 100644 --- a/client/go/script-utils/startcbinary/startcbinary.go +++ b/client/go/script-utils/startcbinary/startcbinary.go @@ -6,9 +6,6 @@ package startcbinary import ( "fmt" "os" - "os/exec" - - "github.com/vespa-engine/vespa/client/go/trace" ) func startCbinary(spec ProgSpec) int { @@ -32,28 +29,16 @@ func startCbinary(spec ProgSpec) int { func (spec *ProgSpec) run() error { prog := spec.Program + "-bin" args := spec.Args - cmd := exec.Command(prog, args...) if spec.shouldUseValgrind { - cmd.Path = spec.valgrindBinary() - cmd.Args = spec.prependValgrind(prog, args) + args = spec.prependValgrind(prog, args) + prog = spec.valgrindBinary() } else if spec.shouldUseNumaCtl { - cmd.Path = spec.numaCtlBinary() - cmd.Args = spec.prependNumaCtl(prog, args) + args = spec.prependNumaCtl(prog, args) + prog = spec.numaCtlBinary() } if spec.shouldUseVespaMalloc { - spec.setenv("LD_PRELOAD", spec.vespaMallocPreload) - } - if len(spec.Env) > 0 { - env := os.Environ() - for k, v := range spec.Env { - trace.Trace("add to environment:", k, "=", v) - env = append(env, k+"="+v) - } - cmd.Env = env + spec.setenv(ENV_LD_PRELOAD, spec.vespaMallocPreload) } - cmd.Stdin = os.Stdin - cmd.Stdout = os.Stdout - cmd.Stderr = os.Stderr - trace.Trace("run cmd", cmd) - return cmd.Run() + envv := spec.effectiveEnv() + return myexecvp(prog, args, envv) } -- cgit v1.2.3