Async.Lock_file
is a wrapper that provides Async equivalents for
Core.Lock_file
.
val create : ?message:string ‑> ?close_on_exec:bool ‑> ?unlink_on_exit:bool ‑> string ‑> bool Import.Deferred.t
create ?message path
tries to create a file at path
containing the text message
,
pid if none provided. It returns true on success, false on failure. Note: there is
no way to release the lock or the fd created inside! It will only be released when
the process dies.
val create_exn : ?message:string ‑> ?close_on_exec:bool ‑> ?unlink_on_exit:bool ‑> string ‑> unit Import.Deferred.t
create_exn ?message path
is like create
except that it throws an exception on
failure instead of returning a boolean value
val waiting_create : ?abort:unit Import.Deferred.t ‑> ?message:string ‑> ?close_on_exec:bool ‑> ?unlink_on_exit:bool ‑> string ‑> unit Import.Deferred.t
waiting_create path
repeatedly tries to lock path
, becoming determined when path
is locked or raising when abort
becomes determined. Similar to
Core.Lock_file.blocking_create
.
val is_locked : string ‑> bool Import.Deferred.t
is_locked path
returns true when the file at path
exists and is locked, false
otherwise.
module Nfs : sig ... end
Nfs
has analogs of functions in Core.Lock_file.Nfs; see there for documentation.
In addition to adding Deferred
's, blocking_create
was renamed waiting_create
to
avoid the impression that it blocks Async.