socketFunc func(int, int, int) (int, error) = syscall.Socket
closeFunc func(int) error = syscall.Close
connectFunc func(int, syscall.Sockaddr) error = syscall.Connect
+ listenFunc func(int, int) error = syscall.Listen
acceptFunc func(int) (int, syscall.Sockaddr, error) = syscall.Accept
getsockoptIntFunc func(int, int, int) (int, error) = syscall.GetsockoptInt
)
closeFunc func(syscall.Handle) error = syscall.Closesocket
connectFunc func(syscall.Handle, syscall.Sockaddr) error = syscall.Connect
connectExFunc func(syscall.Handle, syscall.Sockaddr, *byte, uint32, *uint32, *syscall.Overlapped) error = syscall.ConnectEx
+ listenFunc func(syscall.Handle, int) error = syscall.Listen
)
}
fmt.Fprintf(os.Stderr, "Leaked sockets:\n")
for s, so := range sos {
- fmt.Fprintf(os.Stderr, "%v: %+v\n", s, so)
+ fmt.Fprintf(os.Stderr, "%v: %v\n", s, so)
}
fmt.Fprintf(os.Stderr, "\n")
}
}
fmt.Fprintf(os.Stderr, "Socket statistical information:\n")
for _, st := range sts {
- fmt.Fprintf(os.Stderr, "%+v\n", st)
+ fmt.Fprintf(os.Stderr, "%v\n", st)
}
fmt.Fprintf(os.Stderr, "\n")
}
origSocket = socketFunc
origClose = closeFunc
origConnect = connectFunc
+ origListen = listenFunc
origAccept = acceptFunc
origGetsockoptInt = getsockoptIntFunc
socketFunc = sw.Socket
closeFunc = sw.Close
connectFunc = sw.Connect
+ listenFunc = sw.Listen
acceptFunc = sw.Accept
getsockoptIntFunc = sw.GetsockoptInt
socketFunc = origSocket
closeFunc = origClose
connectFunc = origConnect
+ listenFunc = origListen
acceptFunc = origAccept
getsockoptIntFunc = origGetsockoptInt
origClosesocket = closeFunc
origConnect = connectFunc
origConnectEx = connectExFunc
+ origListen = listenFunc
)
func installTestHooks() {
closeFunc = sw.Closesocket
connectFunc = sw.Connect
connectExFunc = sw.ConnectEx
+ listenFunc = sw.Listen
}
func uninstallTestHooks() {
closeFunc = origClosesocket
connectFunc = origConnect
connectExFunc = origConnectEx
+ listenFunc = origListen
}
func forceCloseSockets() {
return os.NewSyscallError("bind", err)
}
}
- if err := syscall.Listen(fd.sysfd, backlog); err != nil {
+ if err := listenFunc(fd.sysfd, backlog); err != nil {
return os.NewSyscallError("listen", err)
}
if err := fd.init(); err != nil {