aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/ipc
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-07-04 10:12:23 +0200
committerDmitry Vyukov <dvyukov@google.com>2018-07-05 10:44:34 +0200
commitbc1210b614287b1c035a71935fb1f791ebbbf9f6 (patch)
tree9ee5ec4c3f020d273d498799093ed7476ae2f142 /pkg/ipc
parent2c6c896b3662341819da954f7ba962c8a89fbe34 (diff)
pkg/ipc: create default config based on target
Pass actual target to DefaultConfig, that's what we really want, not the stray ipc flag.
Diffstat (limited to 'pkg/ipc')
-rw-r--r--pkg/ipc/ipc.go15
-rw-r--r--pkg/ipc/ipc_test.go2
2 files changed, 3 insertions, 14 deletions
diff --git a/pkg/ipc/ipc.go b/pkg/ipc/ipc.go
index 72a74f160..4ad712999 100644
--- a/pkg/ipc/ipc.go
+++ b/pkg/ipc/ipc.go
@@ -12,7 +12,6 @@ import (
"os"
"os/exec"
"path/filepath"
- "runtime"
"strings"
"sync/atomic"
"time"
@@ -68,7 +67,6 @@ var (
flagAbortSignal = flag.Int("abort_signal", 0, "initial signal to send to executor"+
" in error conditions; upgrades to SIGKILL if executor does not exit")
flagBufferSize = flag.Uint64("buffer_size", 0, "internal buffer size (in bytes) for executor output")
- flagIPC = flag.String("ipc", "", "ipc scheme (pipe/shmem)")
)
type ExecOpts struct {
@@ -103,7 +101,7 @@ type Config struct {
BufferSize uint64
}
-func DefaultConfig() (*Config, *ExecOpts, error) {
+func DefaultConfig(target *prog.Target) (*Config, *ExecOpts, error) {
c := &Config{
Executor: *flagExecutor,
Timeout: *flagTimeout,
@@ -126,22 +124,13 @@ func DefaultConfig() (*Config, *ExecOpts, error) {
return nil, nil, fmt.Errorf("flag sandbox must contain one of none/setuid/namespace")
}
- sysTarget := targets.Get(runtime.GOOS, runtime.GOARCH)
+ sysTarget := targets.Get(target.OS, target.Arch)
if sysTarget.ExecutorUsesShmem {
c.Flags |= FlagUseShmem
}
if sysTarget.ExecutorUsesForkServer {
c.Flags |= FlagUseForkServer
}
- switch *flagIPC {
- case "":
- case "pipe":
- c.Flags &^= FlagUseShmem
- case "shmem":
- c.Flags |= FlagUseShmem
- default:
- return nil, nil, fmt.Errorf("unknown ipc scheme: %v", *flagIPC)
- }
opts := &ExecOpts{
Flags: FlagDedupCover,
diff --git a/pkg/ipc/ipc_test.go b/pkg/ipc/ipc_test.go
index cebf587d9..59f9f621a 100644
--- a/pkg/ipc/ipc_test.go
+++ b/pkg/ipc/ipc_test.go
@@ -41,7 +41,7 @@ func initTest(t *testing.T) (*prog.Target, rand.Source, int, EnvFlags) {
if err != nil {
t.Fatal(err)
}
- cfg, _, err := DefaultConfig()
+ cfg, _, err := DefaultConfig(target)
if err != nil {
t.Fatal(err)
}