summaryrefslogtreecommitdiff
path: root/vendor/github.com/ncruces/go-sqlite3/internal/dotlk
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/ncruces/go-sqlite3/internal/dotlk')
-rw-r--r--vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk.go29
-rw-r--r--vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_other.go13
-rw-r--r--vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_unix.go50
3 files changed, 0 insertions, 92 deletions
diff --git a/vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk.go b/vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk.go
deleted file mode 100644
index 3c8d782d7..000000000
--- a/vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk.go
+++ /dev/null
@@ -1,29 +0,0 @@
-package dotlk
-
-import (
- "errors"
- "io/fs"
- "os"
-)
-
-// LockShm creates a directory on disk to prevent SQLite
-// from using this path for a shared memory file.
-func LockShm(name string) error {
- err := os.Mkdir(name, 0777)
- if errors.Is(err, fs.ErrExist) {
- s, err := os.Lstat(name)
- if err == nil && s.IsDir() {
- return nil
- }
- }
- return err
-}
-
-// Unlock removes the lock or shared memory file.
-func Unlock(name string) error {
- err := os.Remove(name)
- if errors.Is(err, fs.ErrNotExist) {
- return nil
- }
- return err
-}
diff --git a/vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_other.go b/vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_other.go
deleted file mode 100644
index 5399a5f8a..000000000
--- a/vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_other.go
+++ /dev/null
@@ -1,13 +0,0 @@
-//go:build !unix
-
-package dotlk
-
-import "os"
-
-// TryLock returns nil if it acquired the lock,
-// fs.ErrExist if another process has the lock.
-func TryLock(name string) error {
- f, err := os.OpenFile(name, os.O_RDWR|os.O_CREATE|os.O_EXCL, 0666)
- f.Close()
- return err
-}
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)
-}