Forward_progress.Exit_code
A module for exit codes.
The type of exit code.
Exit_unrecoverable_failure
is reserved for programmers error; basically assertions and unhandled exceptions that indicate the process cannot make forward progress, even if the process was restarted.
Exit_transient_failure
is for "normal" errors like I/O errors (not enough disk space, etc.), network errors, and the other errors that arise from Stdlib or 3rd party libraries giving a Result
.t or something similar.
Exit_restart_needed
is reserved for when a process requires itself to restart to make any forward progress. Typical use cases include re-initializing the process with updated configuration files.
Exit_reboot_needed
is reserved for when a process requires the machine to reboot to make any forward progress. Typical use cases include installations of system or widely-used shared libraries. You probably won't use it unless you write installers.
Exit_upgrade_required
is reserved for when a process or its dependencies (perhaps a kernel or system library) requires an upgrade to make any forward progress. Typical use cases include client software where old clients have been deprecated, and security-conscious software that requires patches to the machine before it will start up.
val show : t -> string
Pretty print as a string
val pp : Stdlib.Format.formatter -> t -> unit
Pretty print on the formatter
val values : t list
All the possible exit codes
val to_int_exitcode : t -> int
An exitcode that can be supplied to exit
val to_short_sentence : t -> string
A short sentence like "A transient failure occurred."