Module Lock_file_async.Flock
type t
Nfs
has analogues of functions inLock_file
.Flock; see there for documentation. In addition to addingDeferred
s, this module adds functions that operate in theDeferred.Or_error.t
monad.
val lock_exn : lock_path:string -> [ `Somebody_else_took_it | `We_took_it of t ] Async.Deferred.t
val lock : lock_path:string -> [ `Somebody_else_took_it | `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 -> unit -> t Async.Deferred.t
wait_for_lock_exn ?abort ~lock_path ()
Wait for the lock, giving up onceabort
becomes determined
val wait_for_lock : ?abort:unit Async.Deferred.t -> lock_path:string -> unit -> t Async.Deferred.Or_error.t
See
wait_for_lock_exn