From b8192765a320f389e09bf7261e8902958ad21584 Mon Sep 17 00:00:00 2001 From: Joakim Tjernlund Date: Mon, 10 Nov 2008 09:33:30 +0100 Subject: [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) --- lib/thread.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/thread.c') diff --git a/lib/thread.c b/lib/thread.c index 260e8c8e..948bc210 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); -- cgit v1.2.1