ソースを参照

need to hold lock during cacheCb

Wade Simmons 1 年間 前
コミット
2ff26b261d
1 ファイル変更2 行追加4 行削除
  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
 }