explain_exit man page

explain_exit — print an explanation of exit status before exiting

Synopsis

#include <libexplain/libexplain.h>

void explain_exit_on_exit(void);
void explain_exit_on_error(void);
void explain_exit_cancel(void);

Description

The explain_exit_on_exit function may be used to have the calling program print an explanation of its exit status (the value passed to exit(3) or the return value from main) immediately before it terminates.

The explain_exit_on_error function may be used to have the calling program print an explanation of its exit status immediately before it terminates, if that exit status is not EXIT_SUCCESS.

The explain_exit_cancel function may be used to cancel the effect of the explain_exit_on_exit or explain_exit_on_error function.

These functions may be called multiple times, and in any order. The last called has precedence. The explanation will never be printed more than once.

Call Exit As Normal

In order to have the explanation printed, simply call exit(3) as normal, or return from main as normal. Do not call any of these functions in order to exit your program, they are called before you exit your program.

Caveat

This functionality is only available on systems with the on_exit(3) system call. Unfortunately, the atexit(3) system call is not sufficiently capable, as it does not pass the exit status to the registered function.

See Also

exit(3)
cause normal process termination
atexit(3)
register a function to be called at normal process termination
on_exit(3)
register a function to be called at normal process termination

Author

Written by Peter Miller <pmiller@opensource.org.au>

Referenced By

explain(3).