GNU Info

Info Node: (libc.info)Normal Termination

(libc.info)Normal Termination


Next: Exit Status Up: Program Termination
Enter node , (file) or (file)node

Normal Termination
------------------

   A process terminates normally when its program signals it is done by
calling `exit'.  Returning from `main' is equivalent to calling `exit',
and the value that `main' returns is used as the argument to `exit'.

 - Function: void exit (int STATUS)
     The `exit' function tells the system that the program is done,
     which causes it to terminate the process.

     STATUS is the program's exit status, which becomes part of the
     process' termination status.  This function does not return.

   Normal termination causes the following actions:

  1. Functions that were registered with the `atexit' or `on_exit'
     functions are called in the reverse order of their registration.
     This mechanism allows your application to specify its own
     "cleanup" actions to be performed at program termination.
     Typically, this is used to do things like saving program state
     information in a file, or unlocking locks in shared data bases.

  2. All open streams are closed, writing out any buffered output data.
     See Note: Closing Streams.  In addition, temporary files opened
     with the `tmpfile' function are removed; see Note: Temporary
     Files.

  3. `_exit' is called, terminating the program.  Note: Termination
     Internals.


automatically generated by info2www version 1.2.2.9