From 10049697322d1b0cc8de490ef4b2ef5155ab67b0 Mon Sep 17 00:00:00 2001 From: Christoph Petrausch <christoph.petrausch@inovex.de> Date: Wed, 23 May 2018 15:34:01 +0200 Subject: [PATCH] added missing locks --- routingtable/client_manager.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/routingtable/client_manager.go b/routingtable/client_manager.go index ee0275c3..20d848b2 100644 --- a/routingtable/client_manager.go +++ b/routingtable/client_manager.go @@ -63,6 +63,8 @@ func (c *ClientManager) RegisterWithOptions(client RouteTableClient, opt ClientO // Unregister unregisters a client func (c *ClientManager) Unregister(client RouteTableClient) { + c.mu.Lock() + defer c.mu.Unlock() if _, ok := c.clients[client]; !ok { return } @@ -71,6 +73,8 @@ func (c *ClientManager) Unregister(client RouteTableClient) { // Clients returns a list of registered clients func (c *ClientManager) Clients() []RouteTableClient { + c.mu.RLock() + defer c.mu.RUnlock() ret := make([]RouteTableClient, 0) for rtc := range c.clients { ret = append(ret, rtc) -- GitLab