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 <acui@redhat.com>
This commit is contained in:
Ashley Cui
2023-09-18 17:41:33 -04:00
parent 63219d617e
commit 113b41b6f5
3 changed files with 24 additions and 11 deletions

View File

@ -28,7 +28,6 @@ import (
"github.com/containers/storage/pkg/lockfile" "github.com/containers/storage/pkg/lockfile"
"github.com/digitalocean/go-qemu/qmp" "github.com/digitalocean/go-qemu/qmp"
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
"golang.org/x/sys/unix"
) )
var ( var (
@ -589,15 +588,7 @@ func (v *MachineVM) qemuPid() (int, error) {
logrus.Warnf("Reading QEMU pidfile: %v", err) logrus.Warnf("Reading QEMU pidfile: %v", err)
return -1, nil return -1, nil
} }
return findProcess(pid)
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
} }
// Start executes the qemu command line and forks it // Start executes the qemu command line and forks it
@ -970,7 +961,7 @@ func (v *MachineVM) Stop(_ string, _ machine.StopOptions) error {
return stopErr return stopErr
} }
if err := unix.Kill(qemuPid, unix.SIGKILL); err != nil { if err := sigKill(qemuPid); err != nil {
if stopErr == nil { if stopErr == nil {
return err return err
} }

View File

@ -43,3 +43,17 @@ func extractTargetPath(paths []string) string {
} }
return paths[0] 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
}

View File

@ -50,3 +50,11 @@ func extractTargetPath(paths []string) string {
dedup := regexp.MustCompile(`//+`) dedup := regexp.MustCompile(`//+`)
return dedup.ReplaceAllLiteralString("/"+target, "/") return dedup.ReplaceAllLiteralString("/"+target, "/")
} }
func sigKill(pid int) error {
return nil
}
func findProcess(pid int) (int, error) {
return -1, nil
}