From 0c50c118227a09691cb2d72e1bc48ed055789caa Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Mon, 12 Dec 2011 12:24:12 +0000 Subject: fix overflow --- kernel/kernel.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/kernel.c b/kernel/kernel.c index 33ad241..4c8c1ca 100644 --- a/kernel/kernel.c +++ b/kernel/kernel.c @@ -234,11 +234,13 @@ void update(uint32_t release, uint32_t deadline) { struct task *t; + uint32_t now; cli(); + now = NOW(kernel.cycles, TCNT1); t = kernel.running; #if SLACK - t->slack = NOW(kernel.cycles, TCNT1) - t->deadline; + t->slack = DISTANCE(now, t->deadline); #endif t->state = TIMEQ; t->release += release; -- cgit v1.2.3