@@ -35,15 +35,16 @@ func (i *Initiator) Start() (err error) {
35
35
return
36
36
}
37
37
38
- dialTimeout := time . Duration ( 0 )
38
+ dialer := & net. Dialer {}
39
39
if settings .HasSetting (config .SocketTimeout ) {
40
- if dialTimeout , err = settings .DurationSetting (config .SocketTimeout ); err != nil {
40
+ if dialer . Timeout , err = settings .DurationSetting (config .SocketTimeout ); err != nil {
41
41
return
42
42
}
43
43
}
44
+
44
45
i .wg .Add (1 )
45
46
go func (sessID SessionID ) {
46
- i .handleConnection (i .sessions [sessID ], tlsConfig , dialTimeout )
47
+ i .handleConnection (i .sessions [sessID ], tlsConfig , dialer )
47
48
i .wg .Done ()
48
49
}(sessionID )
49
50
}
@@ -121,7 +122,7 @@ func (i *Initiator) waitForReconnectInterval(reconnectInterval time.Duration) bo
121
122
return true
122
123
}
123
124
124
- func (i * Initiator ) handleConnection (session * session , tlsConfig * tls.Config , dialTimeout time. Duration ) {
125
+ func (i * Initiator ) handleConnection (session * session , tlsConfig * tls.Config , dialer * net. Dialer ) {
125
126
var wg sync.WaitGroup
126
127
wg .Add (1 )
127
128
go func () {
@@ -150,7 +151,7 @@ func (i *Initiator) handleConnection(session *session, tlsConfig *tls.Config, di
150
151
151
152
var netConn net.Conn
152
153
if tlsConfig != nil {
153
- tlsConn , err := tls .DialWithDialer (& net. Dialer { Timeout : dialTimeout } , "tcp" , address , tlsConfig )
154
+ tlsConn , err := tls .DialWithDialer (dialer , "tcp" , address , tlsConfig )
154
155
if err != nil {
155
156
session .log .OnEventf ("Failed to connect: %v" , err )
156
157
goto reconnect
@@ -164,7 +165,7 @@ func (i *Initiator) handleConnection(session *session, tlsConfig *tls.Config, di
164
165
netConn = tlsConn
165
166
} else {
166
167
var err error
167
- netConn , err = net .Dial ("tcp" , address )
168
+ netConn , err = dialer .Dial ("tcp" , address )
168
169
if err != nil {
169
170
session .log .OnEventf ("Failed to connect: %v" , err )
170
171
goto reconnect
0 commit comments