From 61dd8d55cae746a08460a081f9b894d329de243b Mon Sep 17 00:00:00 2001 From: Deluan Date: Tue, 4 Apr 2023 10:51:43 -0400 Subject: [PATCH] Fix data race in scanner --- scanner/scanner.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/scanner/scanner.go b/scanner/scanner.go index 3b1f23612..41a7925da 100644 --- a/scanner/scanner.go +++ b/scanner/scanner.go @@ -111,11 +111,13 @@ func (s *scanner) startProgressTracker(mediaFolder string) (chan uint32, context go func() { s.broker.SendMessage(ctx, &events.ScanStatus{Scanning: true, Count: 0, FolderCount: 0}) defer func() { - s.broker.SendMessage(ctx, &events.ScanStatus{ - Scanning: false, - Count: int64(s.status[mediaFolder].fileCount), - FolderCount: int64(s.status[mediaFolder].folderCount), - }) + if status, ok := s.getStatus(mediaFolder); ok { + s.broker.SendMessage(ctx, &events.ScanStatus{ + Scanning: false, + Count: int64(status.fileCount), + FolderCount: int64(status.folderCount), + }) + } }() for { select {