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.1.3.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
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.5 && <4.20) [details] |
License | GPL-2.0-or-later AND BSD-3-Clause[multiple license files] |
Author | |
Maintainer | Oleg Grenrus <oleg.grenrus@iki.fi> |
Revised | Revision 5 made by phadej at 2023-10-13T10:16:13Z |
Category | System, Concurrency |
Source repo | head: git clone https://github.com/haskellari/lukko/ |
Uploaded | by phadej at 2021-01-06T16:16:38Z |
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 | 22115 total (281 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2021-01-06 [all 1 reports] |