Ignore:
File:
1 edited

Legend:

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

    r58b6d1b rd3ab183  
    2323#include "time.hfa"
    2424
    25 struct thread_desc;
     25#include <containers/list.hfa>
     26
     27struct $thread;
    2628struct processor;
    2729
     
    4042        Time alarm;                             // time when alarm goes off
    4143        Duration period;                        // if > 0 => period of alarm
    42         alarm_node_t * next;            // intrusive link list field
     44
     45        DLISTED_MGD_IMPL_IN(alarm_node_t)
    4346
    4447        union {
    45                 thread_desc * thrd;     // thrd who created event
     48                $thread * thrd; // thrd who created event
    4649                processor * proc;               // proc who created event
    4750        };
     
    5053        bool kernel_alarm       :1;             // true if this is not a user defined alarm
    5154};
     55DLISTED_MGD_IMPL_OUT(alarm_node_t)
    5256
    53 typedef alarm_node_t ** __alarm_it_t;
    54 
    55 void ?{}( alarm_node_t & this, thread_desc * thrd, Time alarm, Duration period );
     57void ?{}( alarm_node_t & this, $thread * thrd, Time alarm, Duration period );
    5658void ?{}( alarm_node_t & this, processor   * proc, Time alarm, Duration period );
    5759void ^?{}( alarm_node_t & this );
    5860
    59 struct alarm_list_t {
    60         alarm_node_t * head;
    61         __alarm_it_t tail;
    62 };
    63 
    64 static inline void ?{}( alarm_list_t & this ) with( this ) {
    65         head = 0;
    66         tail = &head;
    67 }
     61typedef dlist(alarm_node_t, alarm_node_t) alarm_list_t;
    6862
    6963void insert( alarm_list_t * this, alarm_node_t * n );
Note: See TracChangeset for help on using the changeset viewer.