|
|
|
|
@ -598,18 +598,6 @@ now:
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void sleep_ms(int ms) {
|
|
|
|
|
struct timespec deadline;
|
|
|
|
|
long next_tick;
|
|
|
|
|
clock_gettime(CLOCK_MONOTONIC, &deadline);
|
|
|
|
|
|
|
|
|
|
next_tick = (deadline.tv_sec * 1000000000L + deadline.tv_nsec) + ms * 1000000;
|
|
|
|
|
deadline.tv_sec = next_tick / 1000000000L;
|
|
|
|
|
deadline.tv_nsec = next_tick % 1000000000L;
|
|
|
|
|
|
|
|
|
|
clock_nanosleep(CLOCK_MONOTONIC, TIMER_ABSTIME, &deadline, NULL);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void poller_loop(void *d) {
|
|
|
|
|
struct poller_map *map = d;
|
|
|
|
|
poller_map_add(map);
|
|
|
|
|
@ -618,7 +606,7 @@ void poller_loop(void *d) {
|
|
|
|
|
while (!rtpe_shutdown) {
|
|
|
|
|
int ret = poller_poll(p, 100);
|
|
|
|
|
if (ret < 0)
|
|
|
|
|
sleep_ms(20);
|
|
|
|
|
usleep(20 * 1000);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|