Previously the mutex.Lock was acquired before creating a new connection. The lock would then hold until the process was finished, and all network latency would be absorbed by other goroutines trying to establish a new connection. Now the lock is acquired after the connection has been created. The downside of this approach is that concurrent goroutine may be trying to open a connection to the same target. The loser in the race will then have to Close the connection and use the winner's instead. Signed-off-by: Paulo Gomes <paulo.gomes@weave.works> |
||
|---|---|---|
| .. | ||
| const.go | ||
| flag.go | ||
| http.go | ||
| init.go | ||
| managed_test.go | ||
| options.go | ||
| ssh.go | ||
| ssh_test.go | ||