mirror of
https://github.com/slackhq/nebula.git
synced 2025-11-08 19:53:59 +01:00
update
This commit is contained in:
parent
1c9fdba403
commit
d4aea03dd1
2
go.mod
2
go.mod
@ -24,7 +24,7 @@ require (
|
||||
github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e
|
||||
github.com/stefanberger/go-pkcs11uri v0.0.0-20230803200340-78284954bff6
|
||||
github.com/stretchr/testify v1.10.0
|
||||
github.com/timandy/routine v1.1.1
|
||||
github.com/timandy/routine v1.1.5
|
||||
github.com/vishvananda/netlink v1.3.0
|
||||
golang.org/x/crypto v0.36.0
|
||||
golang.org/x/exp v0.0.0-20230725093048-515e97ebf090
|
||||
|
||||
2
go.sum
2
go.sum
@ -149,6 +149,8 @@ github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOf
|
||||
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||
github.com/timandy/routine v1.1.1 h1:6/Z7qLFZj3GrzuRksBFzIG8YGUh8CLhjnnMePBQTrEI=
|
||||
github.com/timandy/routine v1.1.1/go.mod h1:OZHPOKSvqL/ZvqXFkNZyit0xIVelERptYXdAHH00adQ=
|
||||
github.com/timandy/routine v1.1.5 h1:LSpm7Iijwb9imIPlucl4krpr2EeCeAUvifiQ9Uf5X+M=
|
||||
github.com/timandy/routine v1.1.5/go.mod h1:kXslgIosdY8LW0byTyPnenDgn4/azt2euufAq9rK51w=
|
||||
github.com/vishvananda/netlink v1.3.0 h1:X7l42GfcV4S6E4vHTsw48qbrV+9PVojNfIhZcwQdrZk=
|
||||
github.com/vishvananda/netlink v1.3.0/go.mod h1:i6NetklAujEcC6fK0JPjT8qSwWyO0HLn4UKG+hGqeJs=
|
||||
github.com/vishvananda/netns v0.0.4 h1:Oeaw1EM2JMxD51g9uhtC0D7erkIjgmj8+JZc26m1YX8=
|
||||
|
||||
@ -19,17 +19,17 @@ type mutexKey = string
|
||||
// in the same order, to prevent deadlocks.
|
||||
var allowedConcurrentLocks = map[mutexKey][]mutexKey{
|
||||
"connection-manager-in": {"hostmap"},
|
||||
"connection-manager-out": {"connection-state-write", "connection-manager-in"},
|
||||
"connection-manager-out": {"connection-manager-in", "handshake-hostinfo", "handshake-manager"},
|
||||
"connection-manager-relay-used": {"handshake-hostinfo"},
|
||||
"connection-manager-timer": {"connection-manager-out"},
|
||||
"connection-state-write": {"hostmap"},
|
||||
// "connection-state-write": {"hostmap"},
|
||||
"firewall-conntrack": {"handshake-hostinfo"},
|
||||
"handshake-manager": {"hostmap"},
|
||||
"handshake-manager": {"handshake-hostinfo", "hostmap"},
|
||||
"handshake-manager-timer": {"handshake-manager"},
|
||||
"hostmap": {"handshake-hostinfo", "lighthouse-query-chan"},
|
||||
"lighthouse": {"handshake-manager"},
|
||||
"relay-state": {"hostmap", "connection-manager-relay-used"},
|
||||
"remote-list": {"lighthouse"},
|
||||
"hostmap": {"lighthouse-query-chan", "handshake-hostinfo"},
|
||||
"lighthouse": {"handshake-hostinfo"},
|
||||
"relay-state": {"connection-manager-relay-used", "hostmap"},
|
||||
"remote-list": {"lighthouse", "handshake-manager"},
|
||||
"lighthouse-query-chan": {"handshake-hostinfo"},
|
||||
}
|
||||
|
||||
@ -42,7 +42,7 @@ func (m mutexValue) String() string {
|
||||
return fmt.Sprintf("%s:%d", m.file, m.line)
|
||||
}
|
||||
|
||||
var threadLocal routine.ThreadLocal = routine.NewThreadLocalWithInitial(func() any { return map[mutexKey]mutexValue{} })
|
||||
var threadLocal = routine.NewThreadLocalWithInitial[map[mutexKey]mutexValue](func() map[mutexKey]mutexValue { return map[mutexKey]mutexValue{} })
|
||||
|
||||
var allowedDAG dag.AcyclicGraph
|
||||
|
||||
@ -137,7 +137,7 @@ func checkMutex(state map[mutexKey]mutexValue, add mutexKey) {
|
||||
}
|
||||
|
||||
func chanDebugRecv(key mutexKey) {
|
||||
m := threadLocal.Get().(map[mutexKey]mutexValue)
|
||||
m := threadLocal.Get()
|
||||
checkMutex(m, key)
|
||||
v := mutexValue{}
|
||||
_, v.file, v.line, _ = runtime.Caller(1)
|
||||
@ -145,12 +145,12 @@ func chanDebugRecv(key mutexKey) {
|
||||
}
|
||||
|
||||
func chanDebugSend(key mutexKey) {
|
||||
m := threadLocal.Get().(map[mutexKey]mutexValue)
|
||||
m := threadLocal.Get()
|
||||
checkMutex(m, key)
|
||||
}
|
||||
|
||||
func (s *syncRWMutex) Lock() {
|
||||
m := threadLocal.Get().(map[mutexKey]mutexValue)
|
||||
m := threadLocal.Get()
|
||||
checkMutex(m, s.mutexKey)
|
||||
v := mutexValue{}
|
||||
_, v.file, v.line, _ = runtime.Caller(1)
|
||||
@ -159,13 +159,13 @@ func (s *syncRWMutex) Lock() {
|
||||
}
|
||||
|
||||
func (s *syncRWMutex) Unlock() {
|
||||
m := threadLocal.Get().(map[mutexKey]mutexValue)
|
||||
m := threadLocal.Get()
|
||||
delete(m, s.mutexKey)
|
||||
s.RWMutex.Unlock()
|
||||
}
|
||||
|
||||
func (s *syncRWMutex) RLock() {
|
||||
m := threadLocal.Get().(map[mutexKey]mutexValue)
|
||||
m := threadLocal.Get()
|
||||
checkMutex(m, s.mutexKey)
|
||||
v := mutexValue{}
|
||||
_, v.file, v.line, _ = runtime.Caller(1)
|
||||
@ -174,13 +174,13 @@ func (s *syncRWMutex) RLock() {
|
||||
}
|
||||
|
||||
func (s *syncRWMutex) RUnlock() {
|
||||
m := threadLocal.Get().(map[mutexKey]mutexValue)
|
||||
m := threadLocal.Get()
|
||||
delete(m, s.mutexKey)
|
||||
s.RWMutex.RUnlock()
|
||||
}
|
||||
|
||||
func (s *syncMutex) Lock() {
|
||||
m := threadLocal.Get().(map[mutexKey]mutexValue)
|
||||
m := threadLocal.Get()
|
||||
checkMutex(m, s.mutexKey)
|
||||
v := mutexValue{}
|
||||
_, v.file, v.line, _ = runtime.Caller(1)
|
||||
@ -189,7 +189,7 @@ func (s *syncMutex) Lock() {
|
||||
}
|
||||
|
||||
func (s *syncMutex) Unlock() {
|
||||
m := threadLocal.Get().(map[mutexKey]mutexValue)
|
||||
m := threadLocal.Get()
|
||||
delete(m, s.mutexKey)
|
||||
s.Mutex.Unlock()
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user