I am trying to learn about timer for posix. I am using the linux man page for an example. The man page create the timer then uses sleep to put the timer to sleep. Why create a timer if you use sleep? Here is the code from the man page
if (timer_create(clockid, &sev, &timerid) == -1) {
errExit("timer_create");
}
freq_nanosecs = atoll(argv[2]);
its.it_value.tv_sec = freq_nanosecs / 1000000000;
its.it_value.tv_nsec = freq_nanosecs % 1000000000;
its.it_interval.tv_sec = its.it_value.tv_sec;
its.it_interval.tv_nsec = its.it_value.tv_nsec;
/* Sleep for a while; meanwhile, the timer may expire
multiple times */
if (timer_settime(timerid, 0, &its, NULL) == -1)
errExit("timer_settime");
printf("Sleeping for %d seconds\n", atoi(argv[1]));
sleep(atoi(argv[1]));