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
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.