Module Lock_file_async.Symlink
type t
Symlink
has async analogues of functions inLock_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
- catch unix exceptions, packaging them as
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 onceabort
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