From f3dc78d457d119dbffba42332f499151a5705ef4 Mon Sep 17 00:00:00 2001 From: Jakob Borg Date: Thu, 22 Oct 2015 20:32:15 +0200 Subject: [PATCH] Don't deadlock after checking relay client status (fixes #2404) --- lib/relay/relay.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/relay/relay.go b/lib/relay/relay.go index 91cb855a..c156d880 100644 --- a/lib/relay/relay.go +++ b/lib/relay/relay.go @@ -170,12 +170,13 @@ func (s *Svc) RelayStatus(uri string) (time.Duration, bool) { } s.mut.RLock() + defer s.mut.RUnlock() + for _, client := range s.clients { if client.URI().String() == uri { return client.Latency(), client.StatusOK() } } - s.mut.RUnlock() return time.Hour, false }