Понадобился таймер на Си. Нашёл реализацию, но мне нужна масштабируемость, если я захочу запилить 3, 4, 10 и.т.д. таймеров.
#include <signal.h>
#include <stdio.h>
#include <string.h>
#include <sys/time.h>
void timer_handler(int signum)
{
puts("handler");
}
int main()
{
struct sigaction sa;
struct itimerval timer;
memset (&sa, 0x00, sizeof(sa));
sa.sa_handler = &timer_handler;
sigaction (SIGVTALRM, &sa, NULL);
/* Set interval 1 sec */
timer.it_value.tv_sec = 1;
timer.it_value.tv_usec = 0;
timer.it_interval.tv_sec = 1;
timer.it_interval.tv_usec = 0;
setitimer(ITIMER_VIRTUAL, &timer, NULL);
for (;;) {
}
}