fix locking in LRUCache

This commit is contained in:
Kovid Goyal 2026-07-27 09:34:01 +05:30
parent a51c12bab9
commit c51e957194
No known key found for this signature in database
GPG key ID: 06BC317B515ACE7C

View file

@ -23,7 +23,7 @@ func NewLRUCache[K comparable, V any](max_size int) *LRUCache[K, V] {
}
func (self *LRUCache[K, V]) Clear() {
self.lock.RLock()
self.lock.Lock()
clear(self.data)
self.lock.Unlock()
}
@ -36,10 +36,9 @@ func (self *LRUCache[K, V]) Get(key K) (ans V, found bool) {
}
func (self *LRUCache[K, V]) Set(key K, val V) {
self.lock.RLock()
self.lock.Lock()
self.data[key] = val
self.lock.RUnlock()
return
self.lock.Unlock()
}
func (self *LRUCache[K, V]) GetOrCreate(key K, create func(key K) (V, error)) (V, error) {