0

我正在使用该setitimer函数来设置ITIMER_VIRTUAL计时器,使用指向 some 的指针struct itimerval。这是一个虚拟计时器(仅在进程具有控制权时运行)并SIGVTALRM在它达到零时发送一个信号。我的问题是 - 调用后setitimer,有什么方法可以禁用活动计时器,所以当计时器完成时这个信号不会消失?还是现在忽略它的唯一方法是设置一个信号掩码命令程序忽略这个信号?

谢谢!

4

2 回答 2

0

调用settimer并设置it_value0停止计时器。

于 2012-04-27T15:01:27.263 回答
0

根据手册页,只需setitimer()再次调用,使用相同的计时器句柄并将it_valueitimerval 结构的字段设置为零。

您可以立即禁用它:

无论 it_interval 的值如何,将 it_value 设置为 0 将禁用计时器。

或者在它下一次触发之后:

将 it_interval 设置为 0 将在下一次到期后禁用计时器(假设 it_value 非零)。

于 2012-04-27T15:05:35.863 回答