From: Ondrej Zajicek Date: Fri, 21 May 2010 09:51:39 +0000 (+0200) Subject: Fixes bug on Linux 2.4.x - kernel sync does not work until restart of kernel protocol. X-Git-Tag: v1.2.3~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=002b6423188abdd62c5a494069fd299b96863a79;p=thirdparty%2Fbird.git 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. --- diff --git a/sysdep/unix/io.c b/sysdep/unix/io.c index 456644b2b..8058fa665 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)