jenga

Industrial strength, full-featured build system
Legend:
Library
Module
Module type
Parameter
Class
Class type
Library jenga
Module Jenga_lib . Quit
val quit : Exit_code.t -> unit
val exit : Exit_code.t -> 'a Async.Deferred.t
val is_quitting : unit -> bool
val ignore_exn_while_quitting : ( unit -> 'a Async.Deferred.t ) -> 'a Async.Deferred.t
val with_prevent_quitting : ( unit Async.Deferred.t -> unit Async.Deferred.t ) -> unit Async.Deferred.t

with_prevent_quitting f runs f with a deferred that will be determined when quit is called. The returned deferred will be determined when the output of f is determined. If the process quits during the execution of f, then shutdown will be delayed until the function is done running (or shutdown is forced, as usual).