blob: d6d20536a12a1a3513206355c7e38d849c7b096c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#include "global.h"
s32 osStopTimer(OSTimer* timer) {
register u32 prevInt;
OSTimer* next;
if (!timer->next) {
return -1;
}
prevInt = __osDisableInt();
next = timer->next;
if (next != __osTimerList) {
next->value += timer->value;
}
timer->prev->next = timer->next;
timer->next->prev = timer->prev;
timer->next = NULL;
timer->prev = NULL;
if (__osTimerList->next == __osTimerList) {
__osSetCompare(0);
}
__osRestoreInt(prevInt);
return 0;
}
|