From 76f88d3f8893523f4b79e37d01572e004d61fcf7 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Sun, 4 Jul 2010 11:26:01 +0800 Subject: [PATCH] Fixed potential coherency bug in timer code --- Kernel/time.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Kernel/time.c b/Kernel/time.c index c048d11a..30d11dcb 100644 --- a/Kernel/time.c +++ b/Kernel/time.c @@ -43,6 +43,7 @@ void Timer_CallTimers() { int i; void (*callback)(void *); + void *arg; for(i = 0; i < NUM_TIMERS; @@ -50,9 +51,9 @@ void Timer_CallTimers() { if(gTimers[i].Callback == NULL) continue; if(giTimestamp < gTimers[i].FiresAfter) continue; - callback = gTimers[i].Callback; + callback = gTimers[i].Callback; arg = gTimers[i].Argument; gTimers[i].Callback = NULL; - callback(gTimers[i].Argument); + callback(arg); } } -- 2.20.1