use read locks wherever we can
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
21220b692f
commit
120d61d1b6
10
main.go
10
main.go
@ -112,12 +112,12 @@ func updateROMCache() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// skip already cached files
|
// skip already cached files
|
||||||
romCache.Lock()
|
romCache.RLock()
|
||||||
if _, ok := romCache.Cached[v.Name()]; ok {
|
if _, ok := romCache.Cached[v.Name()]; ok {
|
||||||
romCache.Unlock()
|
romCache.RUnlock()
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
romCache.Unlock()
|
romCache.RUnlock()
|
||||||
|
|
||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
go func(v fs.DirEntry) {
|
go func(v fs.DirEntry) {
|
||||||
@ -188,9 +188,9 @@ func lineageOSROMListHandler(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
romCache.Lock()
|
romCache.RLock()
|
||||||
httpResponseJSON := &HTTPResponseJSON{Response: romCache.ROMs}
|
httpResponseJSON := &HTTPResponseJSON{Response: romCache.ROMs}
|
||||||
romCache.Unlock()
|
romCache.RUnlock()
|
||||||
|
|
||||||
b, err := json.Marshal(httpResponseJSON)
|
b, err := json.Marshal(httpResponseJSON)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user