diff --git a/registry/servicediscovery/synthesizer/subscribed_urls_synthesizer_factory.go b/registry/servicediscovery/synthesizer/subscribed_urls_synthesizer_factory.go index ba7887223c4553a368f2f698bbb861ba8e10fe26..c9b1449bef1a8fba0afb8cda163d740e34ac1157 100644 --- a/registry/servicediscovery/synthesizer/subscribed_urls_synthesizer_factory.go +++ b/registry/servicediscovery/synthesizer/subscribed_urls_synthesizer_factory.go @@ -17,16 +17,25 @@ package synthesizer +import ( + "sync" +) + var ( - synthesizers []SubscribedURLsSynthesizer + synthesizers []SubscribedURLsSynthesizer + synthesizerMutex sync.RWMutex ) // nolint func AddSynthesizer(synthesizer SubscribedURLsSynthesizer) { + synthesizerMutex.Lock() + defer synthesizerMutex.Unlock() synthesizers = append(synthesizers, synthesizer) } // nolint func GetAllSynthesizer() []SubscribedURLsSynthesizer { + synthesizerMutex.RLock() + defer synthesizerMutex.RUnlock() return synthesizers }