LINUX.ORG.RU

timer_settime-проблема с переодическим таймером.


0

0

Здравствуйте, У меня возникла следующая проблема. Созданные переодические таймеры не работают.

{ event.sigev_notify = SIGEV_SIGNAL; event.sigev_signo = SIGUSR1; timer_create(clock_id, &event, &tid); time.it_value.tv_sec = 0; itime.it_value.tv_nsec = 500000000; itime.it_interval.tv_sec = 0; itime.it_interval.tv_nsec = 500000000; timer_settime(tid, 0, &itime, NULL)

} То есть создаю таймер с переодичностью 0.5 сек. И использую следующий обработчик: void signal_handler(int signo, siginfo_t* info, void* other) { if (signo != SIGUSR1) return; switch(info->si_code) { case SI_TIMER: /*Например вывожу что-то на экран printf*/ return; } }

Проблема в следующем: таймера с переодичностью меньше 2 секунд(значения поля it_interval) не вызывают обработчик, следовательно я не получаю нотификацию что таймер сработал.


Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.