]> git.lizzy.rs Git - go-anidb.git/blob - flock_other.go
anidb: Simplify (*AniDB).EpisodeByID()
[go-anidb.git] / flock_other.go
1 // +build !windows
2
3 package anidb
4
5 import "github.com/tgulacsi/go-locking"
6
7 type flockLock struct {
8         locking.FLock
9 }
10
11 func lockFile(p string) fileLock {
12         flock, err := locking.NewFLock(p)
13         if err == nil {
14                 return &flockLock{FLock: flock}
15         }
16         return nil
17 }
18
19 func (fl *flockLock) Lock() error {
20         if fl != nil {
21                 return fl.FLock.Lock()
22         }
23         return nil
24 }
25
26 func (fl *flockLock) Unlock() error {
27         if fl != nil {
28                 return fl.FLock.Unlock()
29         }
30         return nil
31 }