diff options
Diffstat (limited to '')
-rw-r--r-- | internal/feed/cache.go | 7 | ||||
-rw-r--r-- | internal/feed/state.go | 6 |
2 files changed, 9 insertions, 4 deletions
diff --git a/internal/feed/cache.go b/internal/feed/cache.go index bf64c4a..5f5c394 100644 --- a/internal/feed/cache.go +++ b/internal/feed/cache.go @@ -77,7 +77,7 @@ func lock(fileName string) (lock lockfile.Lockfile, err error) { return } -func storeCache(cache Cache, fileName string) error { +func (cache *Cache) store(fileName string) error { if cache.CacheImpl == nil { return fmt.Errorf("trying to store nil cache") } @@ -104,15 +104,16 @@ func storeCache(cache Cache, fileName string) error { writer.Flush() log.Printf("Stored cache to '%s'.", fileName) - return UnlockCache(cache) + return cache.Unlock() } -func UnlockCache(cache Cache) error { +func (cache *Cache) Unlock() error { if cache.locked { if err := cache.lock.Unlock(); err != nil { return fmt.Errorf("Unlocking cache: %w", err) } } + cache.locked = false return nil } diff --git a/internal/feed/state.go b/internal/feed/state.go index f2eff72..41d8751 100644 --- a/internal/feed/state.go +++ b/internal/feed/state.go @@ -63,7 +63,11 @@ func (state *State) LoadCache(fileName string, forceNew bool) error { } func (state *State) StoreCache(fileName string) error { - return storeCache(state.cache, fileName) + return state.cache.store(fileName) +} + +func (state *State) UnlockCache() { + _ = state.cache.Unlock() } func (state *State) Fetch() int { |