fix linting, aggregate defers
This commit is contained in:
parent
36794fd50f
commit
5e043fbf23
@ -172,8 +172,8 @@ func (oc *Collection) populateItems(ctx context.Context) {
|
|||||||
errs error
|
errs error
|
||||||
byteCount int64
|
byteCount int64
|
||||||
itemsRead int64
|
itemsRead int64
|
||||||
wg sync.WaitGroup
|
|
||||||
m sync.Mutex
|
m sync.Mutex
|
||||||
|
wg sync.WaitGroup
|
||||||
)
|
)
|
||||||
|
|
||||||
// Retrieve the OneDrive folder path to set later in
|
// Retrieve the OneDrive folder path to set later in
|
||||||
@ -210,6 +210,11 @@ func (oc *Collection) populateItems(ctx context.Context) {
|
|||||||
|
|
||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
|
|
||||||
|
release := func() {
|
||||||
|
wg.Done()
|
||||||
|
<-semaphoreCh
|
||||||
|
}
|
||||||
|
|
||||||
go func(item models.DriveItemable) {
|
go func(item models.DriveItemable) {
|
||||||
// Read the item
|
// Read the item
|
||||||
var (
|
var (
|
||||||
@ -232,9 +237,9 @@ func (oc *Collection) populateItems(ctx context.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
defer wg.Done()
|
defer release()
|
||||||
defer func() { <-semaphoreCh }()
|
|
||||||
errUpdater(*item.GetId(), err)
|
errUpdater(*item.GetId(), err)
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -255,11 +260,11 @@ func (oc *Collection) populateItems(ctx context.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
itemReader := lazy.NewLazyReadCloser(func() (io.ReadCloser, error) {
|
itemReader := lazy.NewLazyReadCloser(func() (io.ReadCloser, error) {
|
||||||
defer wg.Done()
|
defer release()
|
||||||
defer func() { <-semaphoreCh }()
|
|
||||||
|
|
||||||
progReader, closer := observe.ItemProgress(ctx, itemData, observe.ItemBackupMsg, itemName, itemSize)
|
progReader, closer := observe.ItemProgress(ctx, itemData, observe.ItemBackupMsg, itemName, itemSize)
|
||||||
go closer()
|
go closer()
|
||||||
|
|
||||||
return progReader, nil
|
return progReader, nil
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user