fix tcp echo test server fd leak

This commit is contained in:
Page Fault
2020-07-11 05:15:52 +00:00
parent 7a6ca3fb49
commit 0fbd71685c
2 changed files with 4 additions and 3 deletions
-2
View File
@@ -10,8 +10,6 @@ import (
"github.com/p4gefau1t/trojan-go/log"
)
const Name = "REDIRECTOR"
type Dial func(net.Addr) (net.Conn, error)
func defaultDial(addr net.Addr) (net.Conn, error) {
+4 -1
View File
@@ -58,14 +58,15 @@ func runTCPEchoServer() {
common.Must(err)
wg.Done()
go func() {
defer listener.Close()
for {
conn, err := listener.Accept()
if err != nil {
return
}
go func(conn net.Conn) {
defer conn.Close()
for {
conn.SetDeadline(time.Now().Add(time.Second))
buf := make([]byte, 2048)
n, err := conn.Read(buf)
if err != nil {
@@ -112,6 +113,7 @@ func runTCPBlackHoleServer() {
common.Must(err)
wg.Done()
go func() {
defer listener.Close()
for {
conn, err := listener.Accept()
if err != nil {
@@ -130,6 +132,7 @@ func runUDPBlackHoleServer() {
common.Must(err)
wg.Done()
go func() {
defer conn.Close()
buf := make([]byte, 1024*8)
for {
_, _, err := conn.ReadFrom(buf[:])