Merge pull request #1484 from openziti/fix-multi-client-locking

Use a single mutex for multiple clients, otherwise their intercepts can get tangled
This commit is contained in:
Paul Lorenz
2023-05-11 10:48:56 -04:00
committed by GitHub
+3 -1
View File
@@ -69,6 +69,7 @@ func (self *ServiceListenerGroup) NewServiceListener() *ServiceListener {
healthCheckMgr: self.healthCheckMgr,
addrTracker: self.addrTracker,
services: map[string]*entities.Service{},
Mutex: &self.Mutex,
}
self.listener = append(self.listener, result)
return result
@@ -100,6 +101,7 @@ func NewServiceListener(interceptor Interceptor, resolver dns.Resolver) *Service
healthCheckMgr: health.NewManager(),
addrTracker: addrTracker{},
services: map[string]*entities.Service{},
Mutex: &sync.Mutex{},
}
}
@@ -110,7 +112,7 @@ type ServiceListener struct {
healthCheckMgr health.Manager
services map[string]*entities.Service
addrTracker AddressTracker
sync.Mutex
*sync.Mutex
}
func (self *ServiceListener) WaitForShutdown() {