onexit

create a list of functions to be called when the program terminates normally

Synopsis:

#include <stdlib.h>
onexit_t onexit( onexit_t func )

Description:

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.

Returns:

func if the registration succeeds, and NULL if it fails

See also:

abort(), atexit(), exit(), _exit()

Examples:

#include <stdio.h>
#include <stdlib.h>

void main()
  {
    void func1(void), func2(void), func3(void);

    onexit( func1 );
    onexit( func2 );
    onexit( func3 );
    printf( "Do this first.\n" );
  }

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.

Classification:

WATCOM

Systems:

All (except DOS/PM)