exit.c

来自「unix环境高级编程的源代码」· C语言 代码 · 共 25 行

C
25
字号
/* Sun doesn't provide atexit() yet.
 * We need this version of exit() to go with our atexit(). */

#include    <stdio.h>        /* _cleanup() */
#include    <unistd.h>        /* _exit() */
#include    "atexit.h"
#include    "ourhdr.h"

void
exit(int status)
{
    struct atexit    *p;
    int                i;

    if ( (p = __atexit) != 0) {    /* we have some functions to call */
        if ( (i = p->ind) <= 0)
            err_dump("p->ind = %d", p->ind);
        while (--i >= 0)
            (*p->fns[i])();    /* call in reverse order */
    }

    _cleanup();            /* standard I/O cleanup */
    _exit(status);        /* the real thing */
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?