From: Elias Fleckenstein Date: Tue, 19 Jul 2022 21:12:39 +0000 (+0200) Subject: Replace obsolete lock package X-Git-Tag: v0.0.1 X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;p=go-fscache.git Replace obsolete lock package --- diff --git a/cachegob_test.go b/cachegob_test.go index 714aba3..eceb5e0 100755 --- a/cachegob_test.go +++ b/cachegob_test.go @@ -1,7 +1,7 @@ package fscache_test import ( - "github.com/Kovensky/go-fscache" + "github.com/EliasFleckenstein03/go-fscache" "math/rand" "testing" "time" diff --git a/cachelock.go b/cachelock.go index 60861fc..341b0fd 100755 --- a/cachelock.go +++ b/cachelock.go @@ -1,16 +1,13 @@ package fscache import ( - "github.com/Kovensky/go-fscache/lock" + "github.com/gofrs/flock" ) // Locks the file that backs the given key. // // If the call is successful, it's the caller's responsibility to call Unlock on the returned lock. -func (cd *CacheDir) Lock(key ...CacheKey) (lock.FileLock, error) { - l, err := lock.LockFile(cd.cachePath(key...)) - if l != nil { - l.Lock() - } - return l, err +func (cd *CacheDir) Lock(key ...CacheKey) (*flock.Flock, error) { + l := flock.New(cd.cachePath(key...)) + return l, l.Lock() } diff --git a/cachestat_test.go b/cachestat_test.go index 252af6e..087e5dc 100755 --- a/cachestat_test.go +++ b/cachestat_test.go @@ -1,7 +1,7 @@ package fscache_test import ( - "github.com/Kovensky/go-fscache" + "github.com/EliasFleckenstein03/go-fscache" "math/rand" "testing" "time" diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..6f2d860 --- /dev/null +++ b/go.mod @@ -0,0 +1,10 @@ +module github.com/EliasFleckenstein03/go-fscache + +go 1.18 + +require github.com/gofrs/flock v0.8.1 + +require ( + golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect + gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..1a08672 --- /dev/null +++ b/go.sum @@ -0,0 +1,11 @@ +github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= +github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= +github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/lock/lock.go b/lock/lock.go deleted file mode 100644 index 80cff30..0000000 --- a/lock/lock.go +++ /dev/null @@ -1,13 +0,0 @@ -// Wrapper for github.com/tgulacsi/go-locking since it doesn't compile on windows. -// -// On windows, returns a dummy lock that always succeeds. On other OSes, -// returns a *locking.FLock. -// -// Windows also does file locking on its own, but with different -// semantics. -package lock - -type FileLock interface { - Lock() error - Unlock() error -} diff --git a/lock/lock_posix.go b/lock/lock_posix.go deleted file mode 100644 index 3d7a77d..0000000 --- a/lock/lock_posix.go +++ /dev/null @@ -1,25 +0,0 @@ -// +build !windows - -package lock - -import "github.com/tgulacsi/go-locking" - -type flockLock struct { - locking.FLock -} - -func LockFile(p string) (FileLock, error) { - flock, err := locking.NewFLock(p) - if err == nil { - return &flockLock{FLock: flock}, nil - } - return nil, err -} - -func (fl *flockLock) Lock() error { - return fl.FLock.Lock() -} - -func (fl *flockLock) Unlock() error { - return fl.FLock.Unlock() -} diff --git a/lock/lock_windows.go b/lock/lock_windows.go deleted file mode 100644 index 6b897ea..0000000 --- a/lock/lock_windows.go +++ /dev/null @@ -1,10 +0,0 @@ -package lock - -func LockFile(p string) (FileLock, error) { - return &winLock{}, nil -} - -type winLock struct{} - -func (_ *winLock) Lock() error { return nil } -func (_ *winLock) Unlock() error { return nil }