GitPedia

Flock

Thread-safe file locking library in Go

From gofrs·Updated June 24, 2026·View on GitHub·

It also includes a non-blocking `TryLock()` function to allow locking without blocking execution. The project is written primarily in Go, distributed under the BSD 3-Clause "New" or "Revised" License license, first published in 2015. Key topics include: file-locking, flock, flocks, go, golang.

Latest release: v0.13.0
October 9, 2025View Changelog →

flock

Go Reference
License
Go Report Card

flock implements a thread-safe file lock.

It also includes a non-blocking TryLock() function to allow locking without blocking execution.

Installation

bash
go get -u github.com/gofrs/flock

Usage

go
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.

License

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

Project History

This project was originally github.com/theckman/go-flock, it was transferred to Gofrs by the original author Tim Heckman .

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from gofrs/flock via the GitHub API.Last fetched: 6/28/2026