原文见链接setitimer和sleep是冲突的
事实上,做内核开发的人知道,setitimer和sleep是冲突的!因为它们都使用了信号SIGPROF,所以会产生冲突。解决办法是:把setitimer(ITIMER_PROF, &val, NULL);换成setitimer(ITIMER_REAL, &val, NULL);。其中:ITIMER_PROF和SIGPROF对应,ITIMER_REAL和SIGALRM对应。
原文见链接setitimer和sleep是冲突的
事实上,做内核开发的人知道,setitimer和sleep是冲突的!因为它们都使用了信号SIGPROF,所以会产生冲突。解决办法是:把setitimer(ITIMER_PROF, &val, NULL);换成setitimer(ITIMER_REAL, &val, NULL);。其中:ITIMER_PROF和SIGPROF对应,ITIMER_REAL和SIGALRM对应。