on_exit (3) - Linux Man Pages
on_exit: register a function to be called at normal process termination
on_exit - register a function to be called at normal process termination
#include <stdlib.h> int on_exit(void (*function)(int , void *), void *arg);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
The same function may be registered multiple times:
it is called once for each registration.
function registers the given
called at normal process termination, whether via
or via return from the program's
is passed the status argument given to the last call to
function returns the value 0 if successful; otherwise
it returns a nonzero value.
For an explanation of the terms used in this section, see
Interface Attribute Value
Thread safety MT-Safe
This function comes from SunOS 4, but is also present in glibc.
It no longer occurs in Solaris (SunOS 5).
Portable application should avoid this function, and use the standard
By the time
is executed, stack
variables may already have gone out of scope.
should not be a pointer to a stack variable;
it may however be a pointer to a heap variable or a global variable.
This page is part of release 5.05 of the Linux
A description of the project,
information about reporting bugs,
and the latest version of this page,
can be found at
The same function may be registered multiple times: it is called once for each registration.