From 5e043fbf23c4e0677efff6206e80d467e77edebb Mon Sep 17 00:00:00 2001 From: ryanfkeepers Date: Wed, 25 Jan 2023 09:34:56 -0700 Subject: [PATCH] fix linting, aggregate defers --- src/internal/connector/onedrive/collection.go | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/internal/connector/onedrive/collection.go b/src/internal/connector/onedrive/collection.go index b66bbe058..5e2df328b 100644 --- a/src/internal/connector/onedrive/collection.go +++ b/src/internal/connector/onedrive/collection.go @@ -172,8 +172,8 @@ func (oc *Collection) populateItems(ctx context.Context) { errs error byteCount int64 itemsRead int64 - wg sync.WaitGroup m sync.Mutex + wg sync.WaitGroup ) // Retrieve the OneDrive folder path to set later in @@ -210,6 +210,11 @@ func (oc *Collection) populateItems(ctx context.Context) { wg.Add(1) + release := func() { + wg.Done() + <-semaphoreCh + } + go func(item models.DriveItemable) { // Read the item var ( @@ -232,9 +237,9 @@ func (oc *Collection) populateItems(ctx context.Context) { } if err != nil { - defer wg.Done() - defer func() { <-semaphoreCh }() + defer release() errUpdater(*item.GetId(), err) + return } @@ -255,11 +260,11 @@ func (oc *Collection) populateItems(ctx context.Context) { } itemReader := lazy.NewLazyReadCloser(func() (io.ReadCloser, error) { - defer wg.Done() - defer func() { <-semaphoreCh }() + defer release() progReader, closer := observe.ItemProgress(ctx, itemData, observe.ItemBackupMsg, itemName, itemSize) go closer() + return progReader, nil })