| //go:build !windows | |
| // +build !windows | |
| package daemon // import "github.com/docker/docker/testutil/daemon" | |
| import ( | |
| "os/exec" | |
| "syscall" | |
| "testing" | |
| "github.com/moby/sys/mount" | |
| "golang.org/x/sys/unix" | |
| ) | |
| // cleanupMount unmounts the daemon root directory, or logs a message if | |
| // unmounting failed. | |
| func cleanupMount(t testing.TB, d *Daemon) { | |
| t.Helper() | |
| if err := mount.Unmount(d.Root); err != nil { | |
| d.log.Logf("[%s] unable to unmount daemon root (%s): %v", d.id, d.Root, err) | |
| } | |
| } | |
| // SignalDaemonDump sends a signal to the daemon to write a dump file | |
| func SignalDaemonDump(pid int) { | |
| unix.Kill(pid, unix.SIGQUIT) | |
| } | |
| func signalDaemonReload(pid int) error { | |
| return unix.Kill(pid, unix.SIGHUP) | |
| } | |
| func setsid(cmd *exec.Cmd) { | |
| if cmd.SysProcAttr == nil { | |
| cmd.SysProcAttr = &syscall.SysProcAttr{} | |
| } | |
| cmd.SysProcAttr.Setsid = true | |
| } |