summaryrefslogtreecommitdiff
path: root/cmd/podman/machine
diff options
context:
space:
mode:
authorJason T. Greene <jason.greene@redhat.com>2022-05-11 16:42:18 -0500
committerJason T. Greene <jason.greene@redhat.com>2022-05-15 12:01:05 -0500
commit44d253b6c0346319e88287cb14e7e0b2769ccdf9 (patch)
tree90617c8670f3b3b7230b4c5b6dd78595d3c42a10 /cmd/podman/machine
parenta87bba317e403c69b38c65958f2121d7e3f8a58e (diff)
downloadpodman-44d253b6c0346319e88287cb14e7e0b2769ccdf9.tar.gz
podman-44d253b6c0346319e88287cb14e7e0b2769ccdf9.tar.bz2
podman-44d253b6c0346319e88287cb14e7e0b2769ccdf9.zip
Add support for machine events on Windows
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
Diffstat (limited to 'cmd/podman/machine')
-rw-r--r--cmd/podman/machine/machine.go2
-rw-r--r--cmd/podman/machine/machine_unix.go12
-rw-r--r--cmd/podman/machine/machine_windows.go11
3 files changed, 24 insertions, 1 deletions
diff --git a/cmd/podman/machine/machine.go b/cmd/podman/machine/machine.go
index 553f1ef7a..5a8a06b9d 100644
--- a/cmd/podman/machine/machine.go
+++ b/cmd/podman/machine/machine.go
@@ -115,7 +115,7 @@ func resolveEventSock() ([]string, error) {
return err
case info.IsDir():
return nil
- case info.Type() != os.ModeSocket:
+ case !isUnixSocket(info):
return nil
case !re.MatchString(info.Name()):
return nil
diff --git a/cmd/podman/machine/machine_unix.go b/cmd/podman/machine/machine_unix.go
new file mode 100644
index 000000000..213c24f8c
--- /dev/null
+++ b/cmd/podman/machine/machine_unix.go
@@ -0,0 +1,12 @@
+//go:build linux || ignore || aix || ignore || android || ignore || darwin || ignore || freebsd || ignore || hurd || ignore || illumos || ignore || ios || ignore || netbsd || ignore || openbsd || ignore || solaris
+// +build linux ignore aix ignore android ignore darwin ignore freebsd ignore hurd ignore illumos ignore ios ignore netbsd ignore openbsd ignore solaris
+
+package machine
+
+import (
+ "os"
+)
+
+func isUnixSocket(file os.DirEntry) bool {
+ return file.Type()&os.ModeSocket != 0
+}
diff --git a/cmd/podman/machine/machine_windows.go b/cmd/podman/machine/machine_windows.go
new file mode 100644
index 000000000..ffd5d8827
--- /dev/null
+++ b/cmd/podman/machine/machine_windows.go
@@ -0,0 +1,11 @@
+package machine
+
+import (
+ "os"
+ "strings"
+)
+
+func isUnixSocket(file os.DirEntry) bool {
+ // Assume a socket on Windows, since sock mode is not supported yet https://github.com/golang/go/issues/33357
+ return !file.Type().IsDir() && strings.HasSuffix(file.Name(), ".sock")
+}