SIGALRM的处理程序不起作用

时间:2015-11-29 06:51:44

标签: c linux signals scheduler

我正在分配。

Assignment正在Linux系统上(在Ubuntu上)制作虚拟实时操作系统。

我的问题是SIGALRM,它是Scheduler的处理程序。

void scheduler(int signo) {
        /*variables */
        printf("Scheduler awake!!\n");
        /* Do
           Schedule */
}

int RunScheduler(void) {
        signal(SIGALRM, scheduler);
        alarm(1);
        while(1)
                pause();
        return 0;
}

int main() {
        RunScheduler();
}

函数调度程序(处理程序)不起作用。报警(1)有效,但在报警(1)后暂停。

有没有理由信号处理程序不起作用?

1 个答案:

答案 0 :(得分:0)

完全相同的代码在我的机器上正常工作。

我使用了与Ubuntu捆绑在一起的gcc编译器。你使用相同的编译器吗?