old code has WARNING: DATA RACE for multi connect
go test -race -run=TestMultiTCPClient -v
WARNING: DATA RACE
Write at 0x000004d8dce0 by goroutine 8:
gos7_mine.(tcpTransporter).negotiatePduLength()
/Users/hongjinlin/go/src/gos7_mine/tcpclient.go:224 +0x31c
gos7_mine.(tcpTransporter).connect()
/Users/hongjinlin/go/src/gos7_mine/tcpclient.go:191 +0xa7
gos7_mine.(*tcpTransporter).Connect()
/Users/hongjinlin/go/src/gos7_mine/tcpclient.go:164 +0x38
gos7_mine/test.TestMultiTCPClient.func1()
/Users/hongjinlin/go/src/gos7_mine/test/tcpclient_test.go:54 +0x2dd
Previous write at 0x000004d8dce0 by goroutine 7:
gos7_mine.(tcpTransporter).negotiatePduLength()
/Users/hongjinlin/go/src/gos7_mine/tcpclient.go:224 +0x31c
gos7_mine.(tcpTransporter).connect()
/Users/hongjinlin/go/src/gos7_mine/tcpclient.go:191 +0xa7
gos7_mine.(*tcpTransporter).Connect()
/Users/hongjinlin/go/src/gos7_mine/tcpclient.go:164 +0x38
gos7_mine/test.TestMultiTCPClient.func1()
/Users/hongjinlin/go/src/gos7_mine/test/tcpclient_test.go:54 +0x2dd
old code has WARNING: DATA RACE for multi connect go test -race -run=TestMultiTCPClient -v WARNING: DATA RACE Write at 0x000004d8dce0 by goroutine 8: gos7_mine.(tcpTransporter).negotiatePduLength() /Users/hongjinlin/go/src/gos7_mine/tcpclient.go:224 +0x31c gos7_mine.(tcpTransporter).connect() /Users/hongjinlin/go/src/gos7_mine/tcpclient.go:191 +0xa7 gos7_mine.(*tcpTransporter).Connect() /Users/hongjinlin/go/src/gos7_mine/tcpclient.go:164 +0x38 gos7_mine/test.TestMultiTCPClient.func1() /Users/hongjinlin/go/src/gos7_mine/test/tcpclient_test.go:54 +0x2dd
Previous write at 0x000004d8dce0 by goroutine 7: gos7_mine.(tcpTransporter).negotiatePduLength() /Users/hongjinlin/go/src/gos7_mine/tcpclient.go:224 +0x31c gos7_mine.(tcpTransporter).connect() /Users/hongjinlin/go/src/gos7_mine/tcpclient.go:191 +0xa7 gos7_mine.(*tcpTransporter).Connect() /Users/hongjinlin/go/src/gos7_mine/tcpclient.go:164 +0x38 gos7_mine/test.TestMultiTCPClient.func1() /Users/hongjinlin/go/src/gos7_mine/test/tcpclient_test.go:54 +0x2dd
Goroutine 8 (running) created at: gos7_mine/test.TestMultiTCPClient() /Users/hongjinlin/go/src/gos7_mine/test/tcpclient_test.go:47 +0x261 testing.tRunner() /usr/local/Cellar/go/1.11.2/libexec/src/testing/testing.go:827 +0x162
Goroutine 7 (finished) created at: gos7_mine/test.TestMultiTCPClient() /Users/hongjinlin/go/src/gos7_mine/test/tcpclient_test.go:47 +0x261 testing.tRunner() /usr/local/Cellar/go/1.11.2/libexec/src/testing/testing.go:827 +0x162