temp

来自「这是一个介绍 linux 编程知识的文章。」· 代码 · 共 53 行

TXT
53
字号
BOOL InitTimer ()
{
    struct itimerval timerv;
    struct sigaction siga;
    
    siga.sa_handler = sig_handler;
    siga.sa_flags = 0;
    
    __memset (&siga.sa_mask, 0, sizeof (sigset_t));

    sigaction (SIGALRM, &siga, &old_alarm_handler);

    timerv.it_interval.tv_sec = 0;
    timerv.it_interval.tv_usec = 10000;
    timerv.it_value = timerv.it_interval;

    if (setitimer (ITIMER_REAL, &timerv, &old_timer)) {
        fprintf(stderr, "TIMER: setitimer call failed!\n");
        perror("setitimer");
		return FALSE;
    }

    timer_counter = 0;

    return TRUE;
}

BOOL TerminateTimer ()
{
    int i;

    if (setitimer (ITIMER_REAL, &old_timer, 0) == -1) {
        fprintf( stderr, "Timer: setitimer call failed!\n");
        perror("setitimer");
        return 0;
    }

    if (sigaction (SIGALRM, &old_alarm_handler, NULL) == -1) {
        fprintf( stderr, "Timer: sigaction call failed!\n");
        perror("sigaction");
    	return 0;
    }

    for (i=0; i<MAX_TIMERS; i++) {
        if (timerstr[i] != NULL)
            free ( timerstr[i] );
        timerstr[i] = NULL;
    }

    return 1;
}

⌨️ 快捷键说明

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