Lines Matching refs:tail
305 tail: Mutex<Tail>, field
449 tail: Mutex::new(Tail { in channel()
595 let tail = self.shared.tail.lock(); in receiver_count() localVariable
596 tail.rx_cnt in receiver_count()
600 let mut tail = self.shared.tail.lock(); in send2() localVariable
602 if tail.rx_cnt == 0 { in send2()
607 let pos = tail.pos; in send2()
608 let rem = tail.rx_cnt; in send2()
612 tail.pos = tail.pos.wrapping_add(1); in send2()
625 tail.closed = true; in send2()
634 tail.notify_rx(); in send2()
639 drop(tail); in send2()
646 let mut tail = shared.tail.lock(); in new_receiver() localVariable
648 if tail.rx_cnt == MAX_RECEIVERS { in new_receiver()
652 tail.rx_cnt = tail.rx_cnt.checked_add(1).expect("overflow"); in new_receiver()
654 let next = tail.pos; in new_receiver()
656 drop(tail); in new_receiver()
722 let mut tail = self.shared.tail.lock(); in recv_ref() localVariable
753 tail.waiters.push_front(NonNull::new_unchecked(&mut *ptr)); in recv_ref()
777 if tail.closed { in recv_ref()
780 let next = tail in recv_ref()
786 drop(tail); in recv_ref()
937 let mut tail = self.shared.tail.lock(); in drop() localVariable
939 tail.rx_cnt -= 1; in drop()
940 let until = tail.pos; in drop()
942 drop(tail); in drop()
1008 let mut tail = self.receiver.shared.tail.lock(); in drop() localVariable
1020 tail.waiters.remove((&mut *ptr).into()); in drop()