diff options
author | 2025-03-09 17:47:56 +0100 | |
---|---|---|
committer | 2025-03-10 01:59:49 +0100 | |
commit | 3ac1ee16f377d31a0fb80c8dae28b6239ac4229e (patch) | |
tree | f61faa581feaaeaba2542b9f2b8234a590684413 /vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_unix.go | |
parent | [chore] update URLs to forked source (diff) | |
download | gotosocial-3ac1ee16f377d31a0fb80c8dae28b6239ac4229e.tar.xz |
[chore] remove vendor
Diffstat (limited to 'vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_unix.go')
-rw-r--r-- | vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_unix.go | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_unix.go b/vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_unix.go deleted file mode 100644 index 177ab30bb..000000000 --- a/vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_unix.go +++ /dev/null @@ -1,50 +0,0 @@ -//go:build unix - -package dotlk - -import ( - "errors" - "io/fs" - "os" - "strconv" - - "golang.org/x/sys/unix" -) - -// TryLock returns nil if it acquired the lock, -// fs.ErrExist if another process has the lock. -func TryLock(name string) error { - for retry := true; retry; retry = false { - f, err := os.OpenFile(name, os.O_RDWR|os.O_CREATE|os.O_EXCL, 0666) - if err == nil { - f.WriteString(strconv.Itoa(os.Getpid())) - f.Close() - return nil - } - if !errors.Is(err, fs.ErrExist) { - return err - } - if !removeStale(name) { - break - } - } - return fs.ErrExist -} - -func removeStale(name string) bool { - buf, err := os.ReadFile(name) - if err != nil { - return errors.Is(err, fs.ErrNotExist) - } - - pid, err := strconv.Atoi(string(buf)) - if err != nil { - return false - } - if unix.Kill(pid, 0) == nil { - return false - } - - err = os.Remove(name) - return err == nil || errors.Is(err, fs.ErrNotExist) -} |