diff options
Diffstat (limited to 'vendor/github.com/sevlyar/go-daemon/lock_file_unix.go')
-rw-r--r-- | vendor/github.com/sevlyar/go-daemon/lock_file_unix.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/vendor/github.com/sevlyar/go-daemon/lock_file_unix.go b/vendor/github.com/sevlyar/go-daemon/lock_file_unix.go new file mode 100644 index 0000000..4215a8c --- /dev/null +++ b/vendor/github.com/sevlyar/go-daemon/lock_file_unix.go @@ -0,0 +1,23 @@ +// +build darwin dragonfly freebsd linux netbsd openbsd plan9 + +package daemon + +import ( + "syscall" +) + +func lockFile(fd uintptr) error { + err := syscall.Flock(int(fd), syscall.LOCK_EX|syscall.LOCK_NB) + if err == syscall.EWOULDBLOCK { + err = ErrWouldBlock + } + return err +} + +func unlockFile(fd uintptr) error { + err := syscall.Flock(int(fd), syscall.LOCK_UN) + if err == syscall.EWOULDBLOCK { + err = ErrWouldBlock + } + return err +} |