syzkaller/pkg/osutil/osutil_bsd.go
Dmitry Vyukov bdb7b93f25 pkg/osutil: kill subprocesses more reliably
In some cases we start scp, which starts ssh,
then kill scp but the ssh subprocess is not killed.
As the result cmd.Wait hangs waiting for EOF on the stdout/stderr,
which are still kept alive by ssh subprocess. But ssh just hangs forever.

Create a process group for each command and kill whole process group.
Hopefully this will help.
2019-03-18 10:52:18 +01:00

33 lines
572 B
Go

// Copyright 2017 syzkaller project authors. All rights reserved.
// Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
// +build freebsd,!appengine netbsd,!appengine openbsd,!appengine
package osutil
import (
"os"
"os/exec"
)
func RemoveAll(dir string) error {
return os.RemoveAll(dir)
}
func prolongPipe(r, w *os.File) {
}
func Sandbox(cmd *exec.Cmd, user, net bool) error {
return nil
}
func SandboxChown(file string) error {
return nil
}
func setPdeathsig(cmd *exec.Cmd) {
}
func killPgroup(cmd *exec.Cmd) {
}