44 old_first = header->
first;
47 the_watchdog->
expire = expire;
49 while ( *link != NULL ) {
55 if ( expire < parent_watchdog->expire ) {
59 new_first = old_first;
63 header->
first = new_first;
union Watchdog_Control::@33 Node
Nodes for the watchdog.
The watchdog is inactive.
void _Watchdog_Insert(Watchdog_Header *header, Watchdog_Control *the_watchdog, uint64_t expire)
Inserts a watchdog into the set of scheduled watchdogs according to the specified expiration time...
Inlined Routines in the Watchdog Handler.
static __inline__ RBTree_Node ** _RBTree_Root_reference(RBTree_Control *the_rbtree)
Returns a reference to the root pointer of the red-black tree.
static __inline__ Watchdog_State _Watchdog_Get_state(const Watchdog_Control *the_watchdog)
Gets the state of the watchdog.
uint64_t expire
This field is the expiration time point.
The control block used to manage each watchdog timer.
static __inline__ void _RBTree_Add_child(RBTree_Node *child, RBTree_Node *parent, RBTree_Node **link)
Adds a child node to a parent node.
RBTree_Node RBTree
this field is a red-black tree node structure and allows this to be placed on a red-black tree used t...
void _RBTree_Insert_color(RBTree_Control *the_rbtree, RBTree_Node *the_node)
Rebalances the red-black tree after insertion of the node.
static __inline__ RBTree_Node ** _RBTree_Left_reference(RBTree_Node *the_node)
Returns a reference to the left child pointer of the red-black tree node.
static __inline__ void _RBTree_Initialize_node(RBTree_Node *the_node)
Initializes a red-black tree node.
static __inline__ RBTree_Node ** _RBTree_Right_reference(RBTree_Node *the_node)
Returns a reference to the right child pointer of the red-black tree node.
#define _Assert(_e)
Assertion similar to assert() controlled via RTEMS_DEBUG instead of NDEBUG.