module Lock_file:mutual exclusion between processes using lockfsig..end
These locks are OS-level and can be Mandatory (cannot be ignored)
on Linux, depending on file system mount(8) options, see fnctl(2)
but are Local (will not work across computers
even if they mount the same directory).
val create : path:string -> message:string -> boolcreate ~path ~message tries to create a file at path
containing the text message. 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 : path:string -> message:string -> unitcreate_exn ~path ~message is like create except that it throws
an exception on failure instead of returning a boolean valueval create_pid : path:string -> boolcreate_pid ~path creates a file at path containing the pid of the processval create_pid_exn : path:string -> unitcreate_pid_exn ~path creates a file at path containing the pid of the
process. It throws an exception on failure.val blocking_create : path:string -> message:string -> unitblocking_create t tries to create the lock. If another process holds
the lock this function will wait until it is released.val is_locked : string -> boolis_locked path returns true when the file at path exists and
is locked, false otherwise.