lukko: File locking
This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.
This package provides access to platform dependent file locking APIs:
Open file descriptor locking on Linux (Lukko.OFD)
flock
locking on unix platforms (Lukko.FLock)Windows locking
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.
Properties
Versions | 0.1, 0.1.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.14) [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/phadej/lukko/ |
Uploaded | by phadej at 2019-11-14T09:22:56Z |
Modules
[Index] [Quick Jump]
- Lukko
- Lukko.FLock
- Lukko.NoOp
- Lukko.OFD
- Lukko.Windows
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.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
Package maintainers
For package maintainers and hackage trustees