From 5bf177b0216c9098b1ec3a22ed9e8de4927aca56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=96=E7=95=8C?= Date: Fri, 7 Apr 2023 21:10:16 +0800 Subject: [PATCH] platform: Fix build on windows --- experimental/libbox/service.go | 2 +- experimental/libbox/service_other.go | 9 +++++++++ experimental/libbox/service_windows.go | 7 +++++++ 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 experimental/libbox/service_other.go create mode 100644 experimental/libbox/service_windows.go diff --git a/experimental/libbox/service.go b/experimental/libbox/service.go index 33c459ac..5a66852c 100644 --- a/experimental/libbox/service.go +++ b/experimental/libbox/service.go @@ -79,7 +79,7 @@ func (w *platformInterfaceWrapper) OpenTun(options tun.Options, platformOptions if err != nil { return nil, err } - dupFd, err := syscall.Dup(int(tunFd)) + dupFd, err := dup(int(tunFd)) if err != nil { return nil, E.Cause(err, "dup tun file descriptor") } diff --git a/experimental/libbox/service_other.go b/experimental/libbox/service_other.go new file mode 100644 index 00000000..9ea68335 --- /dev/null +++ b/experimental/libbox/service_other.go @@ -0,0 +1,9 @@ +//go:build !windows + +package libbox + +import "syscall" + +func dup(fd int) (nfd int, err error) { + return syscall.Dup(fd) +} diff --git a/experimental/libbox/service_windows.go b/experimental/libbox/service_windows.go new file mode 100644 index 00000000..2dc3b645 --- /dev/null +++ b/experimental/libbox/service_windows.go @@ -0,0 +1,7 @@ +package libbox + +import "os" + +func dup(fd int) (nfd int, err error) { + return 0, os.ErrInvalid +}