From 113b41b6f5f0d95302839fadee320096d65b54ee Mon Sep 17 00:00:00 2001 From: Ashley Cui Date: Mon, 18 Sep 2023 17:41:33 -0400 Subject: [PATCH] Buildtag out unix commands for common OS files Unix only code crept into shared portions of the machine codebase, preventing builds on Windows. Move them into unix-only files. [NO NEW TESTS NEEDED] Signed-off-by: Ashley Cui --- pkg/machine/qemu/machine.go | 13 ++----------- pkg/machine/qemu/machine_unix.go | 14 ++++++++++++++ pkg/machine/qemu/machine_windows.go | 8 ++++++++ 3 files changed, 24 insertions(+), 11 deletions(-) diff --git a/pkg/machine/qemu/machine.go b/pkg/machine/qemu/machine.go index 8082f3b9d8..652b69c1e1 100644 --- a/pkg/machine/qemu/machine.go +++ b/pkg/machine/qemu/machine.go @@ -28,7 +28,6 @@ import ( "github.com/containers/storage/pkg/lockfile" "github.com/digitalocean/go-qemu/qmp" "github.com/sirupsen/logrus" - "golang.org/x/sys/unix" ) var ( @@ -589,15 +588,7 @@ func (v *MachineVM) qemuPid() (int, error) { logrus.Warnf("Reading QEMU pidfile: %v", err) return -1, nil } - - if err := unix.Kill(pid, 0); err != nil { - if err == unix.ESRCH { - return -1, nil - } - return -1, fmt.Errorf("pinging QEMU process: %w", err) - } - - return pid, nil + return findProcess(pid) } // Start executes the qemu command line and forks it @@ -970,7 +961,7 @@ func (v *MachineVM) Stop(_ string, _ machine.StopOptions) error { return stopErr } - if err := unix.Kill(qemuPid, unix.SIGKILL); err != nil { + if err := sigKill(qemuPid); err != nil { if stopErr == nil { return err } diff --git a/pkg/machine/qemu/machine_unix.go b/pkg/machine/qemu/machine_unix.go index b798d03dba..e764013d8c 100644 --- a/pkg/machine/qemu/machine_unix.go +++ b/pkg/machine/qemu/machine_unix.go @@ -43,3 +43,17 @@ func extractTargetPath(paths []string) string { } return paths[0] } + +func sigKill(pid int) error { + return unix.Kill(pid, unix.SIGKILL) +} + +func findProcess(pid int) (int, error) { + if err := unix.Kill(pid, 0); err != nil { + if err == unix.ESRCH { + return -1, nil + } + return -1, fmt.Errorf("pinging QEMU process: %w", err) + } + return pid, nil +} diff --git a/pkg/machine/qemu/machine_windows.go b/pkg/machine/qemu/machine_windows.go index 04065cb1d3..b31a4f1d10 100644 --- a/pkg/machine/qemu/machine_windows.go +++ b/pkg/machine/qemu/machine_windows.go @@ -50,3 +50,11 @@ func extractTargetPath(paths []string) string { dedup := regexp.MustCompile(`//+`) return dedup.ReplaceAllLiteralString("/"+target, "/") } + +func sigKill(pid int) error { + return nil +} + +func findProcess(pid int) (int, error) { + return -1, nil +}