diff --git a/anyhttp.go b/anyhttp.go index 8d316a7..fac5046 100644 --- a/anyhttp.go +++ b/anyhttp.go @@ -13,7 +13,6 @@ import ( "strconv" "strings" "sync" - "syscall" "time" "go.balki.me/anyhttp/idle" @@ -150,16 +149,6 @@ func (u *UnixSocketConfig) GetListener() (net.Listener, error) { // StartFD is the starting file descriptor number const StartFD = 3 -func makeFdListener(fd int, name string) (net.Listener, error) { - fdFile := os.NewFile(uintptr(fd), name) - l, err := net.FileListener(fdFile) - if err != nil { - return nil, err - } - syscall.CloseOnExec(fd) - return l, nil -} - // GetListener returns the FileListener created with socketed activated fd func (s *SysdConfig) GetListener() (net.Listener, error) { diff --git a/fd_unix.go b/fd_unix.go new file mode 100644 index 0000000..83a94fc --- /dev/null +++ b/fd_unix.go @@ -0,0 +1,19 @@ +//go:build unix + +package anyhttp + +import ( + "net" + "os" + "syscall" +) + +func makeFdListener(fd int, name string) (net.Listener, error) { + fdFile := os.NewFile(uintptr(fd), name) + l, err := net.FileListener(fdFile) + if err != nil { + return nil, err + } + syscall.CloseOnExec(fd) + return l, nil +} diff --git a/fd_windows.go b/fd_windows.go new file mode 100644 index 0000000..f1d6bca --- /dev/null +++ b/fd_windows.go @@ -0,0 +1,10 @@ +package anyhttp + +import ( + "errors" + "net" +) + +func makeFdListener(fd int, name string) (net.Listener, error) { + return nil, errors.New("windows not supported") +}