1// Copyright 2015 The Go Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style 3// license that can be found in the LICENSE file. 4 5package net 6 7import "internal/poll" 8 9var ( 10 // Placeholders for saving original socket system calls. 11 origWSASocket = wsaSocketFunc 12 origClosesocket = poll.CloseFunc 13 origConnect = connectFunc 14 origConnectEx = poll.ConnectExFunc 15 origListen = listenFunc 16 origAccept = poll.AcceptFunc 17) 18 19func installTestHooks() { 20 wsaSocketFunc = sw.WSASocket 21 poll.CloseFunc = sw.Closesocket 22 connectFunc = sw.Connect 23 poll.ConnectExFunc = sw.ConnectEx 24 listenFunc = sw.Listen 25 poll.AcceptFunc = sw.AcceptEx 26} 27 28func uninstallTestHooks() { 29 wsaSocketFunc = origWSASocket 30 poll.CloseFunc = origClosesocket 31 connectFunc = origConnect 32 poll.ConnectExFunc = origConnectEx 33 listenFunc = origListen 34 poll.AcceptFunc = origAccept 35} 36 37// forceCloseSockets must be called only from TestMain. 38func forceCloseSockets() { 39 for s := range sw.Sockets() { 40 poll.CloseFunc(s) 41 } 42} 43