From 002b6423188abdd62c5a494069fd299b96863a79 Mon Sep 17 00:00:00 2001 From: Ondrej Zajicek Date: Fri, 21 May 2010 11:51:39 +0200 Subject: Fixes bug on Linux 2.4.x - kernel sync does not work until restart of kernel protocol. Which was, actually, a bug in timers - on older kernel, monotonic timer is missing and the other implementation started with now == 0, which collides with usage 0 as a special value in timer->expires field. --- sysdep/unix/io.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'sysdep') diff --git a/sysdep/unix/io.c b/sysdep/unix/io.c index 456644b..8058fa6 100644 --- a/sysdep/unix/io.c +++ b/sysdep/unix/io.c @@ -117,7 +117,8 @@ tracked_fopen(pool *p, char *name, char *mode) static list near_timers, far_timers; static bird_clock_t first_far_timer = TIME_INFINITY; -bird_clock_t now, now_real; +/* now must be different from 0, because 0 is a special value in timer->expires */ +bird_clock_t now = 1, now_real; static void update_times_plain(void) -- cgit v1.2.3