mirror of
https://github.com/kovidgoyal/kitty.git
synced 2026-08-04 14:46:03 +00:00
fix locking in LRUCache
This commit is contained in:
parent
a51c12bab9
commit
c51e957194
1 changed files with 3 additions and 4 deletions
|
|
@ -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) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue