Функциональность таймера с расширениями Linux, такими как CLOCK_PROCESS_CPUTIME_ID
, включает в себя расширенный набор setitimer
?
Другими словами, могут ли timer_create
и timer_settime
в Linux использоваться для реализации setitimer
?
На первый взгляд кажется, что это можно сделать простым переводом между struct itimerval
/ struct itimerspec
и установкой правильного сигнала в аргументе struct sigevent
в сочетании с правильными часами.
Однако, часть часов кажется проблематичной.CLOCK_MONOTONIC
выглядит как timer_settime
аналог setitimer
s ITIMER_REAL
и CLOCK_PROCESS_CPUTIME_ID
как аналог ITIMER_PROF
.Это было бы правильно?Какими будут часы для ITIMER_VIRTUAL
?
Следующее примечание в спецификации POSIX setitimer :
ИСПОЛЬЗОВАНИЕ ПРИЛОЖЕНИЯ Приложения должны использовать timer_gettime ()и функции timer_settime () вместо устаревших функций getitimer () и setitimer () соответственно.
также настоятельно рекомендует полностью заменить setitimer
на timer_create
/ timer_settime
.