- File:
-
- 1 edited
-
libcfa/src/concurrency/alarm.hfa (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/alarm.hfa
r58b6d1b rd3ab183 23 23 #include "time.hfa" 24 24 25 struct thread_desc; 25 #include <containers/list.hfa> 26 27 struct $thread; 26 28 struct processor; 27 29 … … 40 42 Time alarm; // time when alarm goes off 41 43 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) 43 46 44 47 union { 45 thread_desc* thrd; // thrd who created event48 $thread * thrd; // thrd who created event 46 49 processor * proc; // proc who created event 47 50 }; … … 50 53 bool kernel_alarm :1; // true if this is not a user defined alarm 51 54 }; 55 DLISTED_MGD_IMPL_OUT(alarm_node_t) 52 56 53 typedef alarm_node_t ** __alarm_it_t; 54 55 void ?{}( alarm_node_t & this, thread_desc * thrd, Time alarm, Duration period ); 57 void ?{}( alarm_node_t & this, $thread * thrd, Time alarm, Duration period ); 56 58 void ?{}( alarm_node_t & this, processor * proc, Time alarm, Duration period ); 57 59 void ^?{}( alarm_node_t & this ); 58 60 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 } 61 typedef dlist(alarm_node_t, alarm_node_t) alarm_list_t; 68 62 69 63 void insert( alarm_list_t * this, alarm_node_t * n );
Note:
See TracChangeset
for help on using the changeset viewer.