Forward_progress.Exit_codeA 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 -> stringPretty print as a string
val pp : Stdlib.Format.formatter -> t -> unitPretty print on the formatter
val values : t listAll the possible exit codes
val to_int_exitcode : t -> intAn exitcode that can be supplied to exit
val to_short_sentence : t -> stringA short sentence like "A transient failure occurred."