Provided by: libexplain-dev_1.4.D001-12_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)