homepage: ''
changelog-type: ''
hash: 884e2f3a5ccaeba6a3d2e842329fb1f804352638c1bf44121aa6aca0278ccb70
test-bench-deps:
  bytestring: ! '>=0.9.2.1 && <0.11'
  base: -any
  filepath: ^>=1.3.0.0 || ^>=1.4.0.0
  async: ^>=2.2.2
  tasty-hunit: ^>=0.10.0.2
  temporary: ^>=1.3
  tasty: ^>=1.2.3
  lukko: -any
maintainer: Oleg Grenrus <oleg.grenrus@iki.fi>
synopsis: File locking
changelog: ''
basic-deps:
  base: ! '>=4.5 && <4.14'
all-versions:
- '0.1'
author: ''
latest: '0.1'
description-type: haddock
description: |-
  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 only 'Handle's so these locks cannot be used for intra-process locking.
  (You should use e.g. 'MVar' in addition).

  * <https://hackage.haskell.org/package/filelock 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.
license-name: GPL-2.0-or-later AND BSD-3-Clause

Update from Hackage at 2019-11-02T12:37:52Z
Update from Hackage at 2019-11-02T12:37:52Z
