lukko-0.1.1.2: 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.
Signatures