在OSFlagPend函数内,如果当前标志组不满足条件,则会用OS_FlagBlock函数将OS_FLAG_NODE node(局部变量) 连接到标志组等待列表双向链表中去。 现在不太明白的地方是: 在该函数的后边,如果超时没有产生所需标志组,则会用OS_FlagUnlink(&node)函数将局部变量 node 从等待链表中去掉,但是如果产生了所需的标志组的情况下,并没有调用OS_FlagUnlink(&node)。 请问这样,当OSFlagPend函数退出后,node变量被释放了,该标志组的双向等待队列不是被破坏了? 请高手指点迷津!!先谢了!!! |