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:
		
							
								
								
									
										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 {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user