diff --git a/sndiod/file.c b/sndiod/file.c index b9a4625..61b472d 100644 --- a/sndiod/file.c +++ b/sndiod/file.c @@ -413,21 +413,21 @@ file_poll(void) file_wtime += 1000000000LL * (ts.tv_sec - sleepts.tv_sec); file_wtime += ts.tv_nsec - sleepts.tv_nsec; #endif - delta_nsec = 1000000000LL * (ts.tv_sec - file_ts.tv_sec); - delta_nsec += ts.tv_nsec - file_ts.tv_nsec; -#ifdef DEBUG - if (delta_nsec < 0) - log_puts("file_poll: negative time interval\n"); -#endif - file_ts = ts; if (timo_queue) { + delta_nsec = 1000000000LL * (ts.tv_sec - file_ts.tv_sec); + delta_nsec += ts.tv_nsec - file_ts.tv_nsec; +#ifdef DEBUG + if (delta_nsec < 0) + log_puts("file_poll: negative time interval\n"); +#endif if (delta_nsec >= 0 && delta_nsec < 1000000000LL) timo_update(delta_nsec / 1000); else { if (log_level >= 2) - log_puts("ignored huge clock delta\n"); + log_puts("out-of-bounds clock delta\n"); } } + file_ts = ts; /* * process files that rely on poll