home   contributing   bugs   download   online pages  

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | CONFORMING TO | SEE ALSO | COLOPHONThe Linux Programming Interface


ON_EXIT(3)                    Linux Programmer's Manual                    ON_EXIT(3)

NAME         top

       on_exit - register a function to be called at normal process termination

SYNOPSIS         top

       #include <stdlib.h>

       int on_exit(void (*function)(int , void *), void *arg);

   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

       on_exit(): _BSD_SOURCE || _SVID_SOURCE

DESCRIPTION         top

       The on_exit() function registers the given function to be called at normal
       process termination, whether via exit(3) or via return from the program's
       main().  The function is passed the status argument given to the last call to
       exit(3) and the arg argument from on_exit().

       The same function may be registered multiple times: it is called once for each
       registration.

       When a child process is created via fork(2), it inherits copies of its
       parent's registrations.  Upon a successful call to one of the exec(3)
       functions, all registrations are removed.

RETURN VALUE         top

       The on_exit() function returns the value 0 if successful; otherwise it returns
       a nonzero value.

CONFORMING TO         top

       This function comes from SunOS 4, but is also present in libc4, libc5 and
       glibc.  It no longer occurs in Solaris (SunOS 5).  Avoid this function, and
       use the standard atexit(3) instead.

SEE ALSO         top

       _exit(2), atexit(3), exit(3)

COLOPHON         top

       This page is part of release 3.32 of the Linux man-pages project.  A
       description of the project, and information about reporting bugs, can be found
       at http://www.kernel.org/doc/man-pages/.

GNU                                   2008-12-05                           ON_EXIT(3)

HTML rendering created 2010-12-03 by Michael Kerrisk, author of The Linux Programming Interface

customisable
counter