aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2021-09-04 13:00:29 +0200
committerHimbeerserverDE <himbeerserverde@gmail.com>2021-09-04 13:00:29 +0200
commit90c422d72dd9dac7b449d2585b80f57e6184388a (patch)
treebd1d843ef0cc9348c9dd9a0162fd98427d050630
parent233c43eea7e9907cdb5172c07f97fe007d26992d (diff)
Fix race condition when switching servers
-rw-r--r--hop.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/hop.go b/hop.go
index d64ec21..ae856ef 100644
--- a/hop.go
+++ b/hop.go
@@ -31,7 +31,10 @@ func (cc *clientConn) hop(serverName string) error {
// This needs to be done before the serverConn is closed
// so the clientConn isn't closed by the packet handler
+ cc.mu.Lock()
cc.server().clt = nil
+ cc.mu.Unlock()
+
cc.server().Close()
// Reset the client to its initial state