LRUExpireCache#Get requires write lock

pull/6/head
Takashi Kusumi 2016-09-08 00:22:07 +09:00
parent dc529a03b1
commit 0bd475676b
1 changed files with 3 additions and 3 deletions

View File

@ -25,7 +25,7 @@ import (
type LRUExpireCache struct {
cache *lru.Cache
lock sync.RWMutex
lock sync.Mutex
}
func NewLRUExpireCache(maxSize int) *LRUExpireCache {
@ -46,8 +46,8 @@ func (c *LRUExpireCache) Add(key lru.Key, value interface{}, ttl time.Duration)
}
func (c *LRUExpireCache) Get(key lru.Key) (interface{}, bool) {
c.lock.RLock()
defer c.lock.RUnlock()
c.lock.Lock()
defer c.lock.Unlock()
e, ok := c.cache.Get(key)
if !ok {
return nil, false