From e159de11fb60544f5ed53ccc356cee8a1a6df324 Mon Sep 17 00:00:00 2001 From: Colin Adler Date: Mon, 17 Oct 2022 11:32:26 -0500 Subject: [PATCH] fix(tailnet): data race in `coordinator.Close()` --- tailnet/coordinator.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tailnet/coordinator.go b/tailnet/coordinator.go index 4216bbc624d48..ded78e64aae97 100644 --- a/tailnet/coordinator.go +++ b/tailnet/coordinator.go @@ -338,10 +338,10 @@ func (c *coordinator) handleNextAgentMessage(id uuid.UUID, decoder *json.Decoder func (c *coordinator) Close() error { c.mutex.Lock() if c.closed { + c.mutex.Unlock() return nil } c.closed = true - c.mutex.Unlock() wg := sync.WaitGroup{} @@ -365,6 +365,8 @@ func (c *coordinator) Close() error { } } + c.mutex.Unlock() + wg.Wait() return nil }