diff options
author | Arne Juul <arnej@yahooinc.com> | 2022-10-27 12:28:40 +0000 |
---|---|---|
committer | Arne Juul <arnej@yahooinc.com> | 2022-10-27 12:29:14 +0000 |
commit | f2fbeb7650ce2d6e4e4cc20aa216d71f7c674bca (patch) | |
tree | 7b9a3feb1b6a8f529683b716c60f5040f4cbc430 /client/go/script-utils | |
parent | 66705589eabecefd5e4c0442b050afe6b65c4527 (diff) |
we will need execvp() more places, move to util
Diffstat (limited to 'client/go/script-utils')
-rw-r--r-- | client/go/script-utils/startcbinary/execvp.go | 38 | ||||
-rw-r--r-- | client/go/script-utils/startcbinary/execvp_windows.go | 14 | ||||
-rw-r--r-- | client/go/script-utils/startcbinary/startcbinary.go | 4 |
3 files changed, 3 insertions, 53 deletions
diff --git a/client/go/script-utils/startcbinary/execvp.go b/client/go/script-utils/startcbinary/execvp.go deleted file mode 100644 index 6ca34c4076b..00000000000 --- a/client/go/script-utils/startcbinary/execvp.go +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -// Author: arnej - -//go:build !windows - -package startcbinary - -import ( - "fmt" - "os" - "strings" - - "github.com/vespa-engine/vespa/client/go/trace" - "github.com/vespa-engine/vespa/client/go/util" - "golang.org/x/sys/unix" -) - -func findInPath(prog string) string { - if strings.Contains(prog, "/") { - return prog - } - path := strings.Split(os.Getenv(ENV_PATH), ":") - for _, dir := range path { - fn := dir + "/" + prog - if util.IsRegularFile(fn) { - return fn - } - } - return prog -} - -func myexecvp(prog string, argv []string, envv []string) error { - prog = findInPath(prog) - argv[0] = prog - trace.Trace("run cmd:", strings.Join(argv, " ")) - err := unix.Exec(prog, argv, envv) - return fmt.Errorf("cannot execute '%s': %v", prog, err) -} diff --git a/client/go/script-utils/startcbinary/execvp_windows.go b/client/go/script-utils/startcbinary/execvp_windows.go deleted file mode 100644 index f0642dcf9a0..00000000000 --- a/client/go/script-utils/startcbinary/execvp_windows.go +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -// Author: arnej - -//go:build windows - -package startcbinary - -import ( - "fmt" -) - -func myexecvp(prog string, args []string, envv []string) error { - return fmt.Errorf("cannot execvp: %s", prog) -} diff --git a/client/go/script-utils/startcbinary/startcbinary.go b/client/go/script-utils/startcbinary/startcbinary.go index 7a2b13ebf87..ca1ab181f7e 100644 --- a/client/go/script-utils/startcbinary/startcbinary.go +++ b/client/go/script-utils/startcbinary/startcbinary.go @@ -6,6 +6,8 @@ package startcbinary import ( "fmt" "os" + + "github.com/vespa-engine/vespa/client/go/util" ) func startCbinary(spec *ProgSpec) int { @@ -40,5 +42,5 @@ func (spec *ProgSpec) run() error { spec.setenv(ENV_LD_PRELOAD, spec.vespaMallocPreload) } envv := spec.effectiveEnv() - return myexecvp(prog, args, envv) + return util.Execvpe(prog, args, envv) } |