by gofrs

gofrs / flock

Thread-safe file locking library in Go (originally github.com/theckman/go-flock)

244 Stars 34 Forks Last release: 2 months ago (v0.8.0) BSD 3-Clause "New" or "Revised" License 70 Commits 11 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:


TravisCI Build Status GoDoc License Go Report Card

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


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

Go Compatibility

This package makes use of the

package that was introduced in Go 1.7. As such, this package has an implicit dependency on Go 1.7+.


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.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.