flock
implements a thread-safe file lock.
It also includes a non-blocking TryLock()
function to allow locking without blocking execution.
go get -u github.com/gofrs/flock
import "github.com/gofrs/flock"
fileLock := flock.New("/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.
flock
is released under the BSD 3-Clause License. See the LICENSE
file for more details.
This project was originally github.com/theckman/go-flock
, it was transferred to Gofrs by the original author Tim Heckman .