From 3117fff4cee720bb35903ce638d6436ff306a590 Mon Sep 17 00:00:00 2001 From: Erik Brakkee Date: Sat, 24 Aug 2024 23:35:18 +0200 Subject: [PATCH] fixed one concurrency problem in admin.Close() detected when running the tests 100 times. --- Makefile | 2 +- pkg/server/admin/admin.go | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 5cdc151..1ae1c95 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ vet: fmt go vet ./... test: build - go test -v -count=1 ./... + go test -count=1 ./... build: generate vet mkdir -p bin diff --git a/pkg/server/admin/admin.go b/pkg/server/admin/admin.go index 0a3931d..1a91f92 100644 --- a/pkg/server/admin/admin.go +++ b/pkg/server/admin/admin.go @@ -87,6 +87,9 @@ func NewAdmin() *Admin { } func (admin *Admin) Close() { + admin.mutex.Lock() + defer admin.mutex.Unlock() + for _, client := range admin.clients { client.clientConnection.Close() client.agentConnection.Close()