]> git.lizzy.rs Git - go-anidb.git/commitdiff
anidb: Don't use a nil fileLock
authorDiogo Franco (Kovensky) <diogomfranco@gmail.com>
Sun, 14 Jul 2013 04:54:16 +0000 (01:54 -0300)
committerDiogo Franco (Kovensky) <diogomfranco@gmail.com>
Sun, 14 Jul 2013 04:54:16 +0000 (01:54 -0300)
cache.go
titlecache.go

index 1f1db42ee1dcb75415a535185f8e5f4d495596a3..64cae67f451d6f4845af248635d2b5349befd67c 100644 (file)
--- 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 {
index 64b10061f50933e00a56df5593bdac05c82a8a10..d32175e7e29e98b16eb04c498e426205436d8a7b 100644 (file)
@@ -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}}