Annotation of coherent/b/lib/libc/stdio/exit.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * libc/stdio/exit.c
                      3:  * C general utilities library.
                      4:  * exit()
                      5:  * ANSI 4.10.4.3.
                      6:  * Normal termination.
                      7:  * Implementation defined behavior:
                      8:  *     successful termination (status==0 or status==EXIT_SUCCESS) returns 0
                      9:  *     unsuccessful termination (status==EXIT_FAILURE) returns 1
                     10:  *     otherwise (status!=EXIT_SUCCESS && status!=EXIT_FAILURE) returns status
                     11:  * This just passes the given status to the system,
                     12:  * which works since EXIT_SUCCESS is 0 and EXIT_FAILURE is 1.
                     13:  * Should be in libc/stdlib/exit.c but is in libc/stdio/exit.c instead
                     14:  * because the order of objects in the library is significant,
                     15:  * cf. libc/stdio/Makefile.
                     16:  */
                     17: 
                     18: #include <stdio.h>
                     19: #include <stdlib.h>
                     20: 
                     21: void   (**_atexitfp)();        /* pointer to last atexit-registered function */
                     22: int    _atexitn;               /* count of atexit-registered functions */
                     23: 
                     24: void
                     25: exit(status)
                     26: {
                     27:        while (_atexitn-- > 0)
                     28:                (**--_atexitfp)();      /* Execute registered functions */
                     29:        _finish();                      /* Close open streams           */
                     30:        _exit(status);                  /* Return status                */
                     31: }
                     32: 
                     33: /* end of libc/stdio/exit.c */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.