xref: /netbsd-src/external/gpl3/binutils/dist/libiberty/atexit.c (revision 2a6b7db32dd0fcd096655620989789704fbe4a7d)
1*2a6b7db3Sskrll /* Wrapper to implement ANSI C's atexit using SunOS's on_exit. */
2*2a6b7db3Sskrll /* This function is in the public domain.  --Mike Stump. */
3*2a6b7db3Sskrll 
4*2a6b7db3Sskrll /*
5*2a6b7db3Sskrll 
6*2a6b7db3Sskrll @deftypefn Supplemental int atexit (void (*@var{f})())
7*2a6b7db3Sskrll 
8*2a6b7db3Sskrll Causes function @var{f} to be called at exit.  Returns 0.
9*2a6b7db3Sskrll 
10*2a6b7db3Sskrll @end deftypefn
11*2a6b7db3Sskrll 
12*2a6b7db3Sskrll */
13*2a6b7db3Sskrll 
14*2a6b7db3Sskrll #include "config.h"
15*2a6b7db3Sskrll 
16*2a6b7db3Sskrll #ifdef HAVE_ON_EXIT
17*2a6b7db3Sskrll 
18*2a6b7db3Sskrll int
atexit(void (* f)(void))19*2a6b7db3Sskrll atexit(void (*f)(void))
20*2a6b7db3Sskrll {
21*2a6b7db3Sskrll   /* If the system doesn't provide a definition for atexit, use on_exit
22*2a6b7db3Sskrll      if the system provides that.  */
23*2a6b7db3Sskrll   on_exit (f, 0);
24*2a6b7db3Sskrll   return 0;
25*2a6b7db3Sskrll }
26*2a6b7db3Sskrll 
27*2a6b7db3Sskrll #endif
28