使用timer_create / timer_settime实现的setitimer

时间:2018-09-30 10:11:20

标签: c timer posix

Linux扩展(例如CLOCK_PROCESS_CPUTIME_ID)的计时器功能是否包含setitimer的超集?

换句话说,Linux上的timer_createtimer_settime是否可以用于实现setitimer

从粗略的外观看,似乎可以做到,只需在struct itimerval / struct itimerspec之间进行翻译,然后在struct sigevent参数中设置正确的信号并加上正确的时钟

时钟部分似乎有问题。 CLOCK_MONOTONIC似乎是timer_settime的{​​{1}}的{​​{1}}对应物,而setitimer却是ITIMER_REAL的对应物。正确吗? CLOCK_PROCESS_CPUTIME_ID几点钟了?

POSIX spec of setitimer中的以下注释:

  

应用程序用法应用程序应使用timer_gettime()和   使用timer_settime()函数代替过时的getitimer()和   setitimer()函数。

还强烈建议将ITIMER_PROF / ITIMER_VIRTUAL完全取代setitimer

0 个答案:

没有答案