diff --git a/rtic-common/src/wait_queue.rs b/rtic-common/src/wait_queue.rs index 3056672046..4b1b0f3206 100644 --- a/rtic-common/src/wait_queue.rs +++ b/rtic-common/src/wait_queue.rs @@ -8,18 +8,18 @@ use core::task::Waker; use critical_section as cs; /// A helper definition of a wait queue. -pub type WaitQueue = LinkedList; +pub type WaitQueue = DoublyLinkedList; /// An atomic, doubly linked, FIFO list for a wait queue. /// /// Atomicity is guaranteed by short [`critical_section`]s, so this list is _not_ lock free, /// but it will not deadlock. -pub struct LinkedList { +pub struct DoublyLinkedList { head: AtomicPtr>, // UnsafeCell<*mut Link> tail: AtomicPtr>, } -impl LinkedList { +impl DoublyLinkedList { /// Create a new linked list. pub const fn new() -> Self { Self { @@ -29,7 +29,7 @@ impl LinkedList { } } -impl LinkedList { +impl DoublyLinkedList { const R: Ordering = Ordering::Relaxed; /// Pop the first element in the queue. @@ -133,7 +133,7 @@ impl Link { } /// Remove this link from a linked list. - pub fn remove_from_list(&self, list: &LinkedList) { + pub fn remove_from_list(&self, list: &DoublyLinkedList) { cs::with(|_| { // Make sure all previous writes are visible core::sync::atomic::fence(Ordering::SeqCst); @@ -175,7 +175,7 @@ impl Link { } #[cfg(test)] -impl LinkedList { +impl DoublyLinkedList { fn print(&self) { cs::with(|_| { // Make sure all previous writes are visible @@ -235,7 +235,7 @@ mod tests { #[test] fn linked_list() { - let wq = LinkedList::::new(); + let wq = DoublyLinkedList::::new(); let i1 = Link::new(10); let i2 = Link::new(11);