diff options
author | 2024-12-17 23:16:20 +0000 | |
---|---|---|
committer | 2024-12-17 23:16:20 +0000 | |
commit | c953f57e55810fa0e3201a67a4622fe4ac39c278 (patch) | |
tree | 6b059966b98e4a687d6d55e98772bd3f7c8b1da7 /vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk.go | |
parent | bump ncruces/go-sqlite3 to v0.21.1 (#3625) (diff) | |
download | gotosocial-c953f57e55810fa0e3201a67a4622fe4ac39c278.tar.xz |
update ncruces/go-sqlite3 to v0.21.2 (#3626)
Diffstat (limited to 'vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk.go')
-rw-r--r-- | vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk.go | 29 |
1 files changed, 29 insertions, 0 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 new file mode 100644 index 000000000..3c8d782d7 --- /dev/null +++ b/vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk.go @@ -0,0 +1,29 @@ +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 +} |