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 }