From 03bab65450ac8c8b7da9678477b1328ce9d1d855 Mon Sep 17 00:00:00 2001 From: Stefano Ceccherini Date: Wed, 17 Feb 2010 09:12:43 +0000 Subject: [PATCH] set_hardware_timer() would sometimes (on boot) pass a negative timeout to arch_timer_set_hardware_timer(). This was harmless, at least with our current x86 timers implementation, since they checked for minimum timeouts. Very small cleanup (now that the file is compiled as C++). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35505 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/kernel/timer.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/system/kernel/timer.cpp b/src/system/kernel/timer.cpp index 85bd937405..dbc1a182b7 100644 --- a/src/system/kernel/timer.cpp +++ b/src/system/kernel/timer.cpp @@ -147,8 +147,11 @@ timer_interrupt() // setup the next hardware timer if (cpuData.events != NULL) { - arch_timer_set_hardware_timer( - (bigtime_t)cpuData.events->schedule_time - system_time()); + bigtime_t timeout = (bigtime_t)cpuData.events->schedule_time + - system_time(); + if (timeout <= 0) + timeout = 1; + arch_timer_set_hardware_timer(timeout); } release_spinlock(spinlock);