- fix timer logic
This commit is contained in:
parent
5c9b5b658c
commit
f98a3dd0e4
@ -134,16 +134,16 @@ int config(char *iface)
|
|||||||
}
|
}
|
||||||
|
|
||||||
time_t wait_for(int seconds) {
|
time_t wait_for(int seconds) {
|
||||||
|
|
||||||
struct timespec tp;
|
struct timespec tp;
|
||||||
clock_gettime(CLOCK_REALTIME, &tp);
|
clock_gettime(CLOCK_REALTIME, &tp);
|
||||||
|
|
||||||
time_t current_epoch = tp.tv_sec;
|
time_t current_epoch = tp.tv_sec;
|
||||||
long nsec_to_sleep = (1000*1000*1000 - tp.tv_nsec) * seconds;
|
long nsec_to_sleep = 1000*1000*1000 - tp.tv_nsec;
|
||||||
|
|
||||||
|
|
||||||
/* Only sleep if needed */
|
/* Only sleep if needed */
|
||||||
if (nsec_to_sleep > 0) {
|
if (nsec_to_sleep > 0) {
|
||||||
tp.tv_sec = 0;
|
tp.tv_sec = seconds - 1;
|
||||||
tp.tv_nsec = nsec_to_sleep;
|
tp.tv_nsec = nsec_to_sleep;
|
||||||
nanosleep(&tp, NULL);
|
nanosleep(&tp, NULL);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user