OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [MW_0_8_9PRE7/] [mw/] [src/] [contrib/] [ntimers.c] - Blame information for rev 674

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 673 markom
 
2
void
3
GsAddTimer(struct GsTimer* newtimer) {
4
    int i;
5
    struct GsTimer* curTimer;
6
    if(our_timers.numof++>0) {
7
        curTimer=our_timer->head;
8
        for(curTimer=our_timer->head;curTimer!=NULL;curTimer=curTimer->next) {
9
            if(curTimer->due>newtimer->due) { /* time to file it away... */
10
                if(our_timer->head==curTimer) { /* put it at the beginning... */
11
                    newtimer->next=our_timer->head;
12
                    our_timer->head=newtimer;
13
                    return;
14
                } /* else put it in the middle... */
15
                newtimer->next=curTimer;
16
                prevTimer->next=newtimer;
17
                return;
18
            }
19
            prevTimer=curTimer;
20
        } /* else put it at the end... */
21
        our_timer->tail->next=newtimer;
22
        our_timer->tail=newtimer;
23
        newtimer->next=NULL;
24
        return;
25
    } /* else... hey it's the first timer! */
26
    our_timer->head=newtimer;
27
    our_timer->tail=newtimer;
28
    newtimer->next=NULL;
29
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.