Browse Source

need to hold lock during cacheCb

Wade Simmons 1 year ago
parent
commit
2ff26b261d
1 changed files with 2 additions and 4 deletions
  1. 2 4
      handshake_manager.go

+ 2 - 4
handshake_manager.go

@@ -376,11 +376,11 @@ func (hm *HandshakeManager) StartHandshake(vpnIp iputil.VpnIp, cacheCb func(*Han
 	hm.Lock()
 
 	if hh, ok := hm.vpnIps[vpnIp]; ok {
-		hm.Unlock()
 		// We are already trying to handshake with this vpn ip
 		if cacheCb != nil {
 			cacheCb(hh)
 		}
+		hm.Unlock()
 		return hh.hostinfo
 	}
 
@@ -422,9 +422,7 @@ func (hm *HandshakeManager) StartHandshake(vpnIp iputil.VpnIp, cacheCb func(*Han
 	}
 
 	hm.Unlock()
-	if !hm.lightHouse.IsLighthouseIP(vpnIp) {
-		hm.lightHouse.QueryServer(vpnIp)
-	}
+	hm.lightHouse.QueryServer(vpnIp)
 	return hostinfo
 }