atexit() — Record Program Ending Function

Format

#include <stdlib.h>
int atexit(void (*func)(void));

Language Level: ANSI

Threadsafe: Yes.

Description

The atexit() function records the function, pointed to by func, that the system calls at normal program end. For portability, you should use the atexit() function to register a maximum of 32 functions. The functions are processed in a last-in, first-out order. The atexit() function cannot be called from the OPM default activation group. Most functions can be used with the atexit function; however, if the exit function is used the atexit function will fail.

Return Value

The atexit() function returns 0 if it is successful, and nonzero if it fails.

Example that uses atexit()

This example uses the atexit() function to call goodbye() at program end.

#include <stdlib.h>
#include <stdio.h>
 
int main(void)
{
   void goodbye(void);
   int rc;
 
   rc = atexit(goodbye);
   if (rc != 0)
      perror("Error in atexit");
   exit(0);
}
 
void goodbye(void)
   /* This function is called at normal program end */
{
   printf("The function goodbye was called at program end\n");
}
 
/****************  Output should be similar to:  ******************
 
The function goodbye was called at program end
*/

Related Information



[ Top of Page | Previous Page | Next Page | Contents | Index ]