From a7bc3af1be220b07490841a896ff6ab7e8e58d34 Mon Sep 17 00:00:00 2001 From: "Diogo Franco (Kovensky)" Date: Sun, 14 Jul 2013 01:54:16 -0300 Subject: [PATCH] anidb: Don't use a nil fileLock --- cache.go | 14 ++++++++------ titlecache.go | 14 ++++++++------ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/cache.go b/cache.go index 1f1db42..64cae67 100644 --- a/cache.go +++ b/cache.go @@ -145,9 +145,10 @@ func (c *cacheDir) Get(v Cacheable, keys ...cacheKey) (err error) { defer func() { log.Println("Got entry", keys, "(error", err, ")") }() - flock := lockFile(cachePath(keys...)) - flock.Lock() - defer flock.Unlock() + if flock := lockFile(cachePath(keys...)); flock != nil { + flock.Lock() + defer flock.Unlock() + } fh, err := c.Open(keys...) if err != nil { @@ -230,9 +231,10 @@ func (c *cacheDir) Set(v Cacheable, keys ...cacheKey) (n int64, err error) { } // We have good data, time to actually put it in the cache - flock := lockFile(cachePath(keys...)) - flock.Lock() - defer flock.Unlock() + if flock := lockFile(cachePath(keys...)); flock != nil { + flock.Lock() + defer flock.Unlock() + } fh, err := c.Create(keys...) if err != nil { diff --git a/titlecache.go b/titlecache.go index 64b1006..d32175e 100644 --- a/titlecache.go +++ b/titlecache.go @@ -11,9 +11,10 @@ var titlesDB = &titles.TitlesDatabase{} // Loads the database from anime-titles.dat.gz in the cache dir. func RefreshTitles() error { - flock := lockFile(cachePath("anime-titles.dat.gz")) - flock.Lock() - defer flock.Unlock() + if flock := lockFile(cachePath("anime-titles.dat.gz")); flock != nil { + flock.Lock() + defer flock.Unlock() + } fh, err := cache.Open("anime-titles.dat.gz") if err != nil { @@ -39,9 +40,10 @@ func UpdateTitles() error { return nil } - flock := lockFile(cachePath("anime-titles.dat.gz")) - flock.Lock() - defer flock.Unlock() + if flock := lockFile(cachePath("anime-titles.dat.gz")); flock != nil { + flock.Lock() + defer flock.Unlock() + } c := &http.Client{Transport: &http.Transport{DisableCompression: true}} -- 2.44.0