module Shutdown: Shutdownval shutdown : ?force:unit Import.Deferred.t -> int -> unitshutdown ?force status initiates shutdown, which runs all the at_shutdown
functions, waits for them to finish, and then exits with the supplied status. The
at_shutdown functions can block -- one can use ~force to forcibly exit (with
status 1) if the at_shutdown functions do not finish in a reasonable amount of time.
By default, force is after (sec 10.).
Repeated calls to shutdown with the same status will have no effect. Any call to
shutdown with nonzero status will cause that to be the status that is exited with.
A call to shutdown with different nonzero status from the original call will
raise.
val shutting_down : unit -> [ `No | `Yes of int ]shutting_down () reports whether we are currently shutting down, and if so, with
what status.val shutdown_and_raise : ?force:unit Import.Deferred.t -> int -> Core.Std.never_returnsshutdown_and_raise ?force status initiates shutdown and immediately raises.val at_shutdown : (unit -> unit Import.Deferred.t) -> unitat_shutdown f causes f () to be run when shutdown is called, and for shutdown
to wait until the returned deferred finishes.