The exit() function terminates a process by calling first _exithandle() and then _exit() (see exit(2)).
The _exithandle() function calls any functions registered through the atexit(3C)
function in the reverse order of their registration. This action includes executing all finalization code from the .fini sections of all objects that are part of the process.
The _exithandle() function is intended for use only with _exit(), and allows for specialized processing such as dldump(3DL) to be performed. Normal process execution should not be continued after a call to _exithandle() has occurred, as internal data structures may have been torn down due to atexit() or .fini processing.
The symbols EXIT_SUCCESS and EXIT_FAILURE are defined in the header <stdlib.h>
and may be used as the value of status to indicate successful or unsuccessful termination, respectively.
|