B000.Guard
Build operation guards.
A guard ensure that a build operation is allowed to proceed. This means either that:
Note. This module does not access the file system it trusts clients that call set_file_ready
not to lie about its existence on the file system.
val create : unit -> t
create ()
is a new guard.
val set_file_ready : t -> B00_std.Fpath.t -> unit
set_file_ready g f
indicates to g
that file f
is ready, i.e. that it exists and is up-to-date.
val set_file_never : t -> B00_std.Fpath.t -> unit
set_file_never g f
indicate to g
that file f
will never become ready.
allowed g
is an operation that is either ready or aborted in g
(if any). In the second case the Op.status
is Op.status.Aborted
.