我正在分配。
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)后暂停。
有没有理由信号处理程序不起作用?
答案 0 :(得分:0)
完全相同的代码在我的机器上正常工作。
我使用了与Ubuntu捆绑在一起的gcc编译器。你使用相同的编译器吗?