atexit(3C)




NAME

     atexit - register a function to run at  process  termination
     or object unloading


SYNOPSIS

     #include <stdlib.h>

     int atexit(void (*func)(void));


DESCRIPTION

     The atexit() function registers the function pointed  to  by
     func to be called without arguments on normal termination of
     the program or when the  object  defining  the  function  is
     unloaded.

     Normal termination occurs by either a call to  the  exit(3C)
     function  or  a  return from main(). Object unloading occurs
     when a call to dlclose(3DL) results in the  object  becoming
     unreferenced.

     The number of functions that may be registered with atexit()
     is   limited   only   by  available  memory  (refer  to  the
     _SC_ATEXIT_MAX argument of sysconf(3C)).

     After a successful call to any of the exec(2) functions, any
     functions  previously  registered  by atexit() are no longer
     registered.

     On process exit, functions are called in the  reverse  order
     of  their  registration.  On object unloading, any functions
     belonging to an unloadable object are called in the  reverse
     order of their registration.


RETURN VALUES

     Upon successful completion, the atexit() function returns 0.
     Otherwise, it returns a non-zero value.


ERRORS

     The atexit() function may fail if:

     ENOMEM
           Insufficient storage space is available.


USAGE

     The functions registered by a call to atexit()  must  return
     to ensure that all registered functions are called.

     There is no way for an application to tell  how  many  func-
     tions have already been registered with atexit().


ATTRIBUTES


     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Interface Stability         | Standard                    |
    |_____________________________|_____________________________|
    | MT-Level                    | Safe                        |
    |_____________________________|_____________________________|


SEE ALSO

     exec(2), dlclose(3DL), exit(3C), sysconf(3C), attributes(5)


Man(1) output converted with man2html