有没有可靠的方法来检测(事后)*什么时候发生SIGSTOP?

时间:2016-04-22 18:06:53

标签: c linux time

在我的回答中:https://stackoverflow.com/a/36777637/1405588

我演示了如何通过让SIGTSTP被信号处理程序中断来检测clock_nanosleep的时间,这对于那个问题已经足够了。

我想知道的是,有没有办法准确检测SIGSTOP的时间?显然,可以通过例如检测近似时间来检测近似时间。从不睡觉超过1秒,但这不礼貌。

(我实际上没有这个用例 - 通常,接收任何SIGCONT意味着你应该回到你的事件循环并执行任何挂起的定时事件结构,然后重新计算直到下一个事件的时间)。

nanosleep(2) BUGS

下提及
  

在Linux 2.4中,如果nanosleep()被信号(例如,SIGTSTP)停止,则在SIGCONT信号恢复线程之后,调用将失败,并显示错误EINTR。如果随后重新启动系统调用,那么线程在停止状态下花费的时间不会计入睡眠间隔。

这实际上是我感兴趣的(并设法用信号处理程序实现)。

0 个答案:

没有答案