diff options
Diffstat (limited to 'cache')
| -rw-r--r-- | cache/cache.go | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/cache/cache.go b/cache/cache.go index da27939..b311efa 100644 --- a/cache/cache.go +++ b/cache/cache.go @@ -19,10 +19,12 @@ func New() *Cache { func (c *Cache) Get(hash string) (db.Paste, error) { c.lock.RLock() - defer c.lock.RUnlock() // check if hash in cache - if v, ok := c.m[hash]; ok { + v, ok := c.m[hash] + c.lock.RUnlock() + + if ok { return v, nil } @@ -34,6 +36,7 @@ func (c *Cache) Get(hash string) (db.Paste, error) { func (c *Cache) add(p db.Paste) { c.lock.Lock() + defer c.lock.Unlock() + c.m[p.Hash] = p - c.lock.Unlock() } |