tsleep2.c

来自「UNIX编程高级环境(第二版)的信号部分的程序源码」· C语言 代码 · 共 36 行

C
36
字号
#include    <signal.h>
#include	<unistd.h>
#include    "ourhdr.h"

unsigned int    sleep2(unsigned int);
static void        sig_int(int);

int
main(void)
{
    unsigned int    unslept;

    if (signal(SIGINT, sig_int) == SIG_ERR)
        err_sys("signal(SIGINT) error");

    //unslept = sleep2(5);
    unslept = sleep(5);
    printf("sleep2 returned: %u\n", unslept);

    exit(0);
}

static void
sig_int(int signo)
{
    int                i, k;
    volatile int    j;

    printf("\nsig_int starting\n");
	for (k = 0; k < 1000; k++)
        for (i = 0; i < 2000000; i++)
            j += i * i;
    printf("sig_int finished\n");
    return;
}

⌨️ 快捷键说明

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