Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/alarm.hfa

    rd3ab183 r58b6d1b  
    2323#include "time.hfa"
    2424
    25 #include <containers/list.hfa>
    26 
    27 struct $thread;
     25struct thread_desc;
    2826struct processor;
    2927
     
    4240        Time alarm;                             // time when alarm goes off
    4341        Duration period;                        // if > 0 => period of alarm
    44 
    45         DLISTED_MGD_IMPL_IN(alarm_node_t)
     42        alarm_node_t * next;            // intrusive link list field
    4643
    4744        union {
    48                 $thread * thrd; // thrd who created event
     45                thread_desc * thrd;     // thrd who created event
    4946                processor * proc;               // proc who created event
    5047        };
     
    5350        bool kernel_alarm       :1;             // true if this is not a user defined alarm
    5451};
    55 DLISTED_MGD_IMPL_OUT(alarm_node_t)
    5652
    57 void ?{}( alarm_node_t & this, $thread * thrd, Time alarm, Duration period );
     53typedef alarm_node_t ** __alarm_it_t;
     54
     55void ?{}( alarm_node_t & this, thread_desc * thrd, Time alarm, Duration period );
    5856void ?{}( alarm_node_t & this, processor   * proc, Time alarm, Duration period );
    5957void ^?{}( alarm_node_t & this );
    6058
    61 typedef dlist(alarm_node_t, alarm_node_t) alarm_list_t;
     59struct alarm_list_t {
     60        alarm_node_t * head;
     61        __alarm_it_t tail;
     62};
     63
     64static inline void ?{}( alarm_list_t & this ) with( this ) {
     65        head = 0;
     66        tail = &head;
     67}
    6268
    6369void insert( alarm_list_t * this, alarm_node_t * n );
Note: See TracChangeset for help on using the changeset viewer.