From: Joakim Tjernlund Date: Mon, 10 Nov 2008 08:33:30 +0000 (+0100) Subject: [lib] Fix timer precision. X-Git-Tag: frr-2.0-rc1~2346 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=b8192765a320f389e09bf7261e8902958ad21584;p=matthieu%2Ffrr.git [lib] Fix timer precision. Whenever a thread adds an timer funcname_thread_add_timer_timeval() gets called to add the timer. Before adding the timer a quagga_gettimeofday() call is made to do some time house keeping. However quagga_gettimeofday() only updates recent_time, not relative_time that is used to calculate the alarm_time. Replace with quagga_get_relative (NULL) --- diff --git a/lib/thread.c b/lib/thread.c index 260e8c8e49..948bc210d7 100644 --- a/lib/thread.c +++ b/lib/thread.c @@ -659,7 +659,7 @@ funcname_thread_add_timer_timeval (struct thread_master *m, thread = thread_get (m, type, func, arg, funcname); /* Do we need jitter here? */ - quagga_gettimeofday (&recent_time); + quagga_get_relative (NULL); alarm_time.tv_sec = relative_time.tv_sec + time_relative->tv_sec; alarm_time.tv_usec = relative_time.tv_usec + time_relative->tv_usec; thread->u.sands = timeval_adjust(alarm_time);