Provided by: libexplain-dev_1.4.D001-13_amd64 bug

NAME

       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

COPYRIGHT

       libexplain version 1.4
       Copyright (C) 2009 Peter Miller

AUTHOR

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

                                                                                                 explain_exit(3)