lukko: File locking
This package provides access to platform dependent file locking APIs:
Open file descriptor locking on Linux (Lukko.OFD)
BSD-style
flock(2)
locks on UNIX platforms (Lukko.FLock)Windows locking via LockFileEx (Lukko.Windows)
No-op locking, which throws exceptions (Lukko.NoOp)
Lukko module exports the best option for the target platform with uniform API.
There are alternative file locking packages:
GHC.IO.Handle.Lock in
base >= 4.10
is good enough for most use cases. However, uses onlyHandle
s so these locks cannot be used for intra-process locking. (You should use e.g.MVar
in addition).filelock doesn't support OFD locking.
Lukko means lock in Finnish.
Submodules Lukko.OFD, Lukko.Windows etc are available based on following conditions.
if os(windows) cpp-options: -DHAS_WINDOWS_LOCK elif (os(linux) && flag(ofd-locking)) cpp-options: -DHAS_OFD_LOCKING cpp-options: -DHAS_FLOCK elif !(os(solaris) || os(aix)) cpp-options: -DHAS_FLOCK
Lukko.FLock is available on not (Windows or Solaris or AIX). Lukko.NoOp is always available.
Flags
Manual Flags
Name | Description | Default |
---|---|---|
ofd-locking | Enable open file descriptor locking. Available on Linux (kernel 3.15, released Jun 8, 2014). | Enabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- lukko-0.1.2.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
Versions [RSS] | 0.1, 0.1.1, 0.1.1.1, 0.1.1.2, 0.1.1.3, 0.1.2 |
---|---|
Change log | CHANGELOG.md |
Dependencies | base (>=4.12.0.0 && <4.21) [details] |
License | GPL-2.0-or-later AND BSD-3-Clause[multiple license files] |
Author | |
Maintainer | Oleg Grenrus <oleg.grenrus@iki.fi> |
Category | System, Concurrency |
Source repo | head: git clone https://github.com/haskellari/lukko/ |
Uploaded | by phadej at 2024-06-05T12:42:08Z |
Distributions | Arch:0.1.1.3, Fedora:0.1.1.3, LTSHaskell:0.1.1.3, NixOS:0.1.1.3, Stackage:0.1.2, openSUSE:0.1.1.3 |
Reverse Dependencies | 5 direct, 13 indirect [details] |
Downloads | 21790 total (228 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |