From 3b8eac493b9aee8b169bd1f81f70d5a40cee1c0a Mon Sep 17 00:00:00 2001 From: Kyle Evans Date: Tue, 5 May 2020 16:56:39 -0500 Subject: [PATCH] services: archiver: appease golangci-lint, lock queueMutex Locking/unlocking the queueMutex is allowed, but not required, for Cond.Signal() and Cond.Broadcast(). The magic at play here is just a little too much for golangci-lint, as we take the address of queueMutex and this is mostly used in archiver.go; the variable still gets flagged as unused. --- services/archiver/archiver_test.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/services/archiver/archiver_test.go b/services/archiver/archiver_test.go index 71a4fb905b..bfeeb24f1e 100644 --- a/services/archiver/archiver_test.go +++ b/services/archiver/archiver_test.go @@ -43,7 +43,9 @@ func releaseOneEntry(t *testing.T, inFlight []*ArchiveRequest) { numQueued = len(archiveInProgress) // Release one, then wait up to 3 seconds for it to complete. + queueMutex.Lock() archiveQueueReleaseCond.Signal() + queueMutex.Unlock() timeout := time.Now().Add(3 * time.Second) for { nowQueued = len(archiveInProgress) @@ -117,7 +119,9 @@ func TestArchive_Basic(t *testing.T) { // Release them all, they'll then stall at the archiveQueueReleaseCond while // we examine the queue state. + queueMutex.Lock() archiveQueueStartCond.Broadcast() + queueMutex.Unlock() // 8 second timeout for them all to complete. timeout := time.Now().Add(8 * time.Second) -- 2.39.5