Skip to content

Latest commit

 

History

History
36 lines (27 loc) · 1.11 KB

README.md

File metadata and controls

36 lines (27 loc) · 1.11 KB

go-flock

TravisCI Build Status GoDoc License

flock implements a thread-safe sync.Locker interface for file locking. It also includes a non-blocking TryLock() function to allow locking without blocking execution.

License

flock is released under the BSD 3-Clause License. See the LICENSE file for more details.

Intsallation

go get -u github.com/theckman/go-flock

Usage

import "github.com/theckman/go-flock"

fileLock := flock.NewFlock("/var/lock/go-lock.lock")

locked, err := fileLock.TryLock()

if err != nil {
	// handle locking error
}

if locked {
	// do work
	fileLock.Unlock()
}

For more detailed usage information take a look at the package API docs on GoDoc.