Make sure the library compiles for windows
systemd sockets are not applicable for windows. However compilation should not fail on windows
This commit is contained in:
		
							
								
								
									
										11
									
								
								anyhttp.go
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								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) {
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										19
									
								
								fd_unix.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								fd_unix.go
									
									
									
									
									
										Normal file
									
								
							@@ -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
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										10
									
								
								fd_windows.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								fd_windows.go
									
									
									
									
									
										Normal file
									
								
							@@ -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")
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user