aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--internal/feed/cache.go7
-rw-r--r--internal/feed/state.go6
-rw-r--r--main.go1
-rw-r--r--tools/print-cache/print-cache.go2
4 files changed, 11 insertions, 5 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 {
diff --git a/main.go b/main.go
index 8d3aa15..99f104b 100644
--- a/main.go
+++ b/main.go
@@ -94,6 +94,7 @@ func run() error {
if err != nil {
return err
}
+ defer state.UnlockCache()
state.RemoveUndue()
diff --git a/tools/print-cache/print-cache.go b/tools/print-cache/print-cache.go
index b21643e..cdecac4 100644
--- a/tools/print-cache/print-cache.go
+++ b/tools/print-cache/print-cache.go
@@ -27,7 +27,7 @@ func main() {
log.Fatal(err)
}
- defer func() {_ = feed.UnlockCache(cache)}()
+ defer cache.Unlock()
fmt.Printf("Cache version %d\n", cache.Version())
if feedId != "" {
ow=1'>install dbus_init pluginRené 'Necoro' Neumann1-1/+1 2008-03-19Init dbus threads using a pluginRené 'Necoro' Neumann3-1/+20 2008-03-19Make logger thread-safeRené 'Necoro' Neumann1-3/+6 2008-03-18Fixed new_use_flag creation errorRené 'Necoro' Neumann1-3/+3 2008-03-18keep i18n up2dateRené 'Necoro' Neumann3-326/+366 2008-03-18corrected header commentRené 'Necoro' Neumann1-2/+2 2008-03-18Removed gtk subdirRené 'Necoro' Neumann21-134/+79 2008-03-18Removed wrapperRené 'Necoro' Neumann2-238/+184 2008-03-18Split and renamed gui_helperRené 'Necoro' Neumann4-249/+266 2008-03-18Splitted windows.pyRené 'Necoro' Neumann10-424/+549 2008-03-12Moved get_dependencies to top package classRené 'Necoro' Neumann4-50/+85 2008-03-11improved performance by caching the use_expand queriesRené 'Necoro' Neumann1-5/+14 2008-03-11use catapult varsRené 'Necoro' Neumann2-4/+6 2008-03-11Updated catapult stuffRené 'Necoro' Neumann5-56/+108 2008-03-10Generate correct KeyNotFoundExceptionRené 'Necoro' Neumann1-2/+2 2008-03-09Small changesRené 'Necoro' Neumann3-1/+4 2008-03-07Better session handlingRené 'Necoro' Neumann1-5/+54 2008-03-07Small changesRené 'Necoro' Neumann1-1/+4 2008-03-07Updated shm module to 1.2René 'Necoro' Neumann1-8/+21 2008-03-07Update TODORené 'Necoro' Neumann1-3/+1 2008-03-07hmm ... yesRené 'Necoro' Neumann1-1/+1 2008-03-06Used better exceptions for configuration parserRené 'Necoro' Neumann1-26/+114 2008-03-06Update translationRené 'Necoro' Neumann2-349/+393 2008-03-06Update createpot.shRené 'Necoro' Neumann1-3/+2 2008-03-06Use 'nofork' instead of 'nolistener'René 'Necoro' Neumann1-3/+3 2008-03-05Install glade files into template dir and not data dirRené 'Necoro' Neumann2-2/+1 2008-03-05Added dependency listRené 'Necoro' Neumann3-117/+237