]> rtime.felk.cvut.cz Git - l4.git/blobdiff - kernel/fiasco/src/kern/queue_item.cpp
update
[l4.git] / kernel / fiasco / src / kern / queue_item.cpp
index cec35934e8bfdb9669e1afcad794c24ef10a4fc2..579040fe4cc4d32966505ebddab60de5b7563939 100644 (file)
@@ -1,15 +1,16 @@
 INTERFACE:
 
+#include <dlist>
+
 class Queue;
 
-class Queue_item
+class Queue_item : public cxx::D_list_item
 {
   friend class Queue;
 public:
   enum Status { Ok, Retry, Invalid };
 
 private:
-  Queue_item **_pn, *_n;
   Queue *_q;
 } __attribute__((aligned(16)));
 
@@ -20,15 +21,10 @@ IMPLEMENTATION:
 #include "kdb_ke.h"
 #include "std_macros.h"
 
-PUBLIC inline
-Queue_item::Queue_item()
-  : _n(0)
-{}
-
 PUBLIC inline
 bool
 Queue_item::queued() const
-{ return _n; }
+{ return cxx::D_list_cyclic<Queue_item>::in_list(this); }
 
 PUBLIC inline NEEDS["kdb_ke.h"]
 Queue *