Fixes lock
This commit is contained in:
7
main.go
7
main.go
@@ -218,7 +218,7 @@ func (a *appData) indexAlbum(stopChan <-chan struct{},
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
a.errors <- fmt.Errorf("[INDEX]: delete failed: %s", err)
|
a.errors <- fmt.Errorf("[INDEX]: delete failed: %s", err)
|
||||||
}
|
}
|
||||||
a.dbLock <- true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -227,12 +227,14 @@ func (a *appData) cacheAlbumDescription(getAlbum <-chan *Album, toIndex chan<- *
|
|||||||
nbAlbums := 0
|
nbAlbums := 0
|
||||||
for album := range getAlbum {
|
for album := range getAlbum {
|
||||||
nbAlbums++
|
nbAlbums++
|
||||||
|
a.dbLock <- true
|
||||||
albumCache, err := a.db.Get(album.ID)
|
albumCache, err := a.db.Get(album.ID)
|
||||||
|
<-a.dbLock
|
||||||
|
|
||||||
if err == nil {
|
if err == nil {
|
||||||
toIndex <- albumCache
|
toIndex <- albumCache
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
a.dbLock <- true
|
|
||||||
|
|
||||||
err = a.getter.Get(album)
|
err = a.getter.Get(album)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -240,6 +242,7 @@ func (a *appData) cacheAlbumDescription(getAlbum <-chan *Album, toIndex chan<- *
|
|||||||
<-a.dbLock
|
<-a.dbLock
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
a.dbLock <- true
|
||||||
err = a.db.AddOrUpdate(album)
|
err = a.db.AddOrUpdate(album)
|
||||||
<-a.dbLock
|
<-a.dbLock
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user