github.com/megatontech/mynoteforgo@v0.0.0-20200507084910-5d0c6ea6e890/源码/net/main_windows_test.go (about) 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 5 package net 6 7 import "internal/poll" 8 9 var ( 10 // Placeholders for saving original socket system calls. 11 origSocket = socketFunc 12 origWSASocket = wsaSocketFunc 13 origClosesocket = poll.CloseFunc 14 origConnect = connectFunc 15 origConnectEx = poll.ConnectExFunc 16 origListen = listenFunc 17 origAccept = poll.AcceptFunc 18 ) 19 20 func installTestHooks() { 21 socketFunc = sw.Socket 22 wsaSocketFunc = sw.WSASocket 23 poll.CloseFunc = sw.Closesocket 24 connectFunc = sw.Connect 25 poll.ConnectExFunc = sw.ConnectEx 26 listenFunc = sw.Listen 27 poll.AcceptFunc = sw.AcceptEx 28 } 29 30 func uninstallTestHooks() { 31 socketFunc = origSocket 32 wsaSocketFunc = origWSASocket 33 poll.CloseFunc = origClosesocket 34 connectFunc = origConnect 35 poll.ConnectExFunc = origConnectEx 36 listenFunc = origListen 37 poll.AcceptFunc = origAccept 38 } 39 40 // forceCloseSockets must be called only from TestMain. 41 func forceCloseSockets() { 42 for s := range sw.Sockets() { 43 poll.CloseFunc(s) 44 } 45 }