diff --git a/src/collectd-tg.c b/src/collectd-tg.c
index 71f6040deefaa821f72b9caf37b8456fbdce2eea..3bde325913c644bd4b48abef02ea89344aef8dad 100644 (file)
--- a/src/collectd-tg.c
+++ b/src/collectd-tg.c
double now = dtime();
while (now < vl->time) {
- /* 1 / 100 second */
- struct timespec ts = {0, 10000000};
-
- ts.tv_sec = (time_t)now;
- ts.tv_nsec = (long)((now - ((double)ts.tv_sec)) * 1e9);
+ double diff = vl->time - now;
+ struct timespec ts = {
+ .tv_sec = (time_t)diff,
+ };
+ ts.tv_nsec = (long)((diff - ((double)ts.tv_sec)) * 1e9);
nanosleep(&ts, /* remaining = */ NULL);
now = dtime();
lcc_network_destroy(net);
exit(EXIT_SUCCESS);
} /* }}} int main */
-
-/* vim: set sw=2 sts=2 et fdm=marker : */