QUICK_EXIT(3C) | Standard C Library Functions | QUICK_EXIT(3C) |
at_quick_exit
,
quick_exit
— terminate a
running process with minimal teardown
#include
<stdlib.h>
int
at_quick_exit
(void
(*func)(void));
_Noreturn void
quick_exit
(int status);
The
quick_exit
()
and at_quick_exit
() functions provide a veneer
around _Exit(2) that allows for
registered functions to be called before terminating. Like
_Exit(2), standard library termination
is not done. atexit(3C) functions are
not called and various standard termination that occurs when calling
exit(3C) may not occur.
Functions that are registered with
at_quick_exit
()
will be called in reverse order upon calling
quick_exit
(). Functions registered with
at_quick_exit
() will not be called at any other
time. Functions that are registered with
at_quick_exit
() should not make use of
longjmp(3C) and related
functions.
After calling all registered functions, the
quick_exit
()
function will terminate the calling program and its exit status will be
status.
The quick_exit
() function does not
return.
The at_quick_exit
() function
returns 0 on success.
Otherwise, a non-zero error value is returned to indicate failure.
The at_quick_exit
() function may fail
if:
ENOMEM
March 26, 2016 | OmniOS |