create a list of functions to be called when the program terminates normally
#include <stdlib.h> onexit_t onexit( onexit_t func );
The onexit() function is passed the address of function func to be called when the program terminates normally. Successive calls to onexit() create a list of functions that will be executed on a "last-in, first-out" basis. No more than 32 functions can be registered with the onexit() function.
The functions have no parameters and don't return values.
![]() |
|
func if the registration succeeds, and NULL if it fails.
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
void func1(void), func2(void), func3(void);
onexit( func1 );
onexit( func2 );
onexit( func3 );
printf( "Do this first.\n" );
return( EXIT_SUCCESS );
}
void func1(void) { printf( "last.\n" ); }
void func2(void) { printf( "this " ); }
void func3(void) { printf( "Do " ); }
produces the output:
Do this first. Do this last.
WATCOM
| Safety: | |
|---|---|
| Interrupt handler | No |
| Signal handler | No |
| Thread | Yes |
abort(), atexit(), exit(), _exit()