package async

  1. Overview
  2. Docs
Monadic concurrency library

Install

Dune Dependency

Authors

Maintainers

Sources

async-v0.14.0.tar.gz
sha256=74f2b7b01ce3b92289cc7a68cd3ae53885c763cedd320d27949d585e5c13dc64
md5=9f80cfb72e3defcc9fca50f67e23e93c

doc/async.lock_file_async/Lock_file_async/Symlink/index.html

Module Lock_file_async.Symlink

type t

Symlink has async analogues of functions in Lock_file_blocking.Symlink; see there for documentation.

Additionally, here we:

  • catch unix exceptions, packaging them as Deferred.Or_error.t
  • implement abortable waiting versions based on polling
val lock_exn : lock_path:string -> metadata:string -> [ `Somebody_else_took_it of string Core.Or_error.t | `We_took_it of t ] Async.Deferred.t
val lock : lock_path:string -> metadata:string -> [ `Somebody_else_took_it of string Core.Or_error.t | `We_took_it of t ] Async.Deferred.Or_error.t
val unlock_exn : t -> unit Async.Deferred.t
val unlock : t -> unit Async.Deferred.Or_error.t
val wait_for_lock_exn : ?abort:unit Async.Deferred.t -> lock_path:string -> metadata:string -> unit -> t Async.Deferred.t

wait_for_lock_exn ?abort ~lock_path () Wait for the lock, giving up once abort becomes determined

val wait_for_lock : ?abort:unit Async.Deferred.t -> lock_path:string -> metadata:string -> unit -> t Async.Deferred.Or_error.t

See wait_for_lock_exn

OCaml

Innovation. Community. Security.