Clone this repo:

Branches

  1. cc7f001 Merge pull request #10 from fancl20/master by Daniel Jacques · 4 months ago master
  2. 041f7cd Add legacy build tags for go compilers before 1.17 by Chenlin Fan · 4 months ago
  3. fd1a115 Merge pull request #9 from fancl20/master by Daniel Jacques · 4 months ago
  4. 3679c9b Change copyright name by Chenlin Fan · 4 months ago
  5. 263f885 Fixing typo and renaming by Chenlin Fan · 4 months ago

gofslock

Go implementation of filesystem-level locking.

GoDoc Build Status Coverage Status

gofslock offers several features:

  • Exclusive and shared locking senamtics.
  • Consistent intra- and inter-processing locking behavior across major operating systems (notably Linux, Mac, and Windows).
  • Works on all Go versions.
  • Only depends on Go standard library.
  • Locking behavior and interaction is heavily tested.

Feedback

Request features and report bugs using the GitHub Issue Tracker.

Contributions

Contributions to this project are welcome, though please file an issue before starting work on anything major.

To get started contributing to this project, clone the repository:

git clone https://github.com/danjacques/gofslock

This repository uses pre-commit-go to validate itself. Please install this prior to working on the project:

  • Make sure your user.email and user.name are configured in git config.
  • Install test-only packages: go get -u -t github.com/danjacques/gofslock/...
  • Install the pcg git hook: go get -u github.com/maruel/pre-commit-go/cmd/... && pcg