Double linked list node, with thread reference. More...
#include <os-lists.h>
Inheritance diagram for os::rtos::internal::waiting_thread_node:Public Member Functions | |
Constructors & Destructor | |
| waiting_thread_node (thread &th) | |
| Construct a node with references to the thread. | |
| ~waiting_thread_node () | |
| Destruct the node. | |
Public Member Functions | |
| void | unlink (void) |
| Remove the node from the list. | |
| bool | unlinked (void) |
| Check if the node is unlinked. | |
| static_double_list_links * | next (void) const |
| void | next (static_double_list_links *n) |
| static_double_list_links * | prev (void) const |
| void | prev (static_double_list_links *n) |
Public Attributes | |
Public Member Variables | |
| rtos::thread * | thread_ |
| Pointer to waiting thread. | |
Protected Attributes | |
Private Member Variables | |
| static_double_list_links * | prev_ |
| Pointer to previous node. | |
| static_double_list_links * | next_ |
| Pointer to next node. | |
Definition at line 58 of file os-lists.h.
|
inline |
| th | Reference to the thread. |
Definition at line 866 of file os-lists.h.
|
inline |
Definition at line 871 of file os-lists.h.
|
inlineinherited |
Definition at line 847 of file lists.h.
References os::utils::static_double_list_links::next_.
|
inlineinherited |
Definition at line 835 of file lists.h.
References os::utils::static_double_list_links::next_.
Referenced by os::rtos::internal::waiting_threads_list::begin(), os::rtos::internal::clock_timestamps_list::check_timestamp(), os::utils::static_double_list::clear(), os::utils::static_double_list::empty(), os::utils::static_double_list::head(), and os::utils::static_double_list::insert_after().
|
inlineinherited |
Definition at line 853 of file lists.h.
References os::utils::static_double_list_links::prev_.
|
inlineinherited |
Definition at line 841 of file lists.h.
References os::utils::static_double_list_links::prev_.
Referenced by os::utils::static_double_list::clear(), os::utils::static_double_list::insert_after(), os::rtos::internal::clock_timestamps_list::link(), os::rtos::internal::ready_threads_list::link(), os::rtos::internal::waiting_threads_list::link(), os::rtos::internal::terminated_threads_list::link(), os::utils::static_double_list::tail(), and os::utils::static_double_list::uninitialized().
|
inherited |
Update the neighbours to point to each other, skipping the node.
For more robustness, to prevent unexpected accesses, the links in the removed node are nullified.
Definition at line 59 of file lists.cpp.
References os::utils::static_double_list_links::next_, os::utils::static_double_list_links::prev_, os::trace::printf(), and os::utils::static_double_list_links::unlinked().
Referenced by os::rtos::internal::timeout_thread_node::action(), os::rtos::internal::timer_node::action(), and os_rtos_idle_actions().
|
inlineinherited |
| true | The node is not linked. |
| false | The node is linked to a list. |
Definition at line 829 of file lists.h.
References os::utils::static_double_list_links::next_.
Referenced by os::utils::static_double_list_links::unlink().
|
protectedinherited |
|
protectedinherited |
Definition at line 132 of file lists.h.
Referenced by os::utils::double_list_links::double_list_links(), os::utils::static_double_list_links::prev(), os::utils::static_double_list_links::prev(), and os::utils::static_double_list_links::unlink().
| rtos::thread* os::rtos::internal::waiting_thread_node::thread_ |
Definition at line 107 of file os-lists.h.
Referenced by os::rtos::internal::ready_threads_list::link(), os::rtos::internal::waiting_threads_list::link(), os::rtos::internal::terminated_threads_list::link(), os_rtos_idle_actions(), os::rtos::internal::waiting_threads_list::resume_one(), and os::rtos::internal::ready_threads_list::unlink_head().