git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Modules/UDI - Implimenting UDI support, can load udi_dpt from udiref
[tpg/acess2.git]
/
KernelLand
/
Kernel
/
time.c
diff --git
a/KernelLand/Kernel/time.c
b/KernelLand/Kernel/time.c
index
449afcd
..
29d8ddb
100644
(file)
--- a/
KernelLand/Kernel/time.c
+++ b/
KernelLand/Kernel/time.c
@@
-117,7
+117,8
@@
tTimer *Time_CreateTimer(int Delta, tTimerCallback *Callback, void *Argument)
*/
void Time_ScheduleTimer(tTimer *Timer, int Delta)
{
*/
void Time_ScheduleTimer(tTimer *Timer, int Delta)
{
- tTimer *t, *p;
+ tTimer *t;
+ tTimer **prev_next;
// Sanity checks
if( !Timer ) return ;
// Sanity checks
if( !Timer ) return ;
@@
-134,9
+135,10
@@
void Time_ScheduleTimer(tTimer *Timer, int Delta)
// Add into list (sorted)
SHORTLOCK(&gTimers_ListLock);
// Mutex_Release( &Timer->Lock ); // Prevent deadlocks
// Add into list (sorted)
SHORTLOCK(&gTimers_ListLock);
// Mutex_Release( &Timer->Lock ); // Prevent deadlocks
- for( p
= (tTimer*)&gTimers, t = gTimers; t; p =
t, t = t->Next )
+ for( p
rev_next = &gTimers, t = gTimers; t; prev_next = &t->Nex
t, t = t->Next )
{
{
- ASSERT( p != t ); ASSERT( CheckMem(t, sizeof(tTimer)) );
+ ASSERT( prev_next != &t->Next );
+ ASSERT( CheckMem(t, sizeof(tTimer)) );
if( t == Timer )
{
LOG("Double schedule - increasing delta");
if( t == Timer )
{
LOG("Double schedule - increasing delta");
@@
-147,9
+149,9
@@
void Time_ScheduleTimer(tTimer *Timer, int Delta)
if( t->FiresAfter > Timer->FiresAfter ) break;
}
Timer->Next = t;
if( t->FiresAfter > Timer->FiresAfter ) break;
}
Timer->Next = t;
-
p->N
ext = Timer;
+
*prev_n
ext = Timer;
Timer->bActive = 1;
Timer->bActive = 1;
- LOG(" %p %p %p", p, Timer, t);
+ LOG(" %p %p %p", p
rev_next
, Timer, t);
SHORTREL(&gTimers_ListLock);
}
SHORTREL(&gTimers_ListLock);
}
@@
-158,17
+160,19
@@
void Time_ScheduleTimer(tTimer *Timer, int Delta)
*/
void Time_RemoveTimer(tTimer *Timer)
{
*/
void Time_RemoveTimer(tTimer *Timer)
{
- tTimer *t, *p;
+ tTimer *t;
+ tTimer **prev_next;
if( !Timer ) return ;
SHORTLOCK(&gTimers_ListLock);
if( !Timer ) return ;
SHORTLOCK(&gTimers_ListLock);
- for( p
= (tTimer*)&gTimers, t = gTimers; t; p =
t, t = t->Next )
+ for( p
rev_next = &gTimers, t = gTimers; t; prev_next = &t->Nex
t, t = t->Next )
{
{
- ASSERT( p != t ); ASSERT( CheckMem(t, sizeof(tTimer)) );
+ ASSERT( prev_next != &t->Next );
+ ASSERT( CheckMem(t, sizeof(tTimer)) );
if( t == Timer )
{
if( t == Timer )
{
-
p->N
ext = t->Next;
+
*prev_n
ext = t->Next;
break ;
}
}
break ;
}
}
UCC
git Repository :: git.ucc.asn.au