我在我的系统中看到了一些不寻常的东西。我的应用程序任务之一“xxxx”正在“等待”信号量。它的优先级是94,下面是tt。
This task is pending:
(de009e8) 329220 vxTaskEntry +5c: yyyy()
....
(de003a8) 1453384 aaaaaa +3fc: fdprintf()
(de00328) 37ea54 fdprintf +60: fioFormatV()
(de00100) 37f0ac fioFormatV +4f0: fioFormatV()
(de000e8) 37fb44 fioFormatV +f88: write()
(de000c8) 383218 write +50: iosWrite()
(de00050) 385218 iosWrite +d0: tyWrite()
(de00028) 394d80 tyWrite +60: semTake()
(de00008) 3de698 semTake +90: semBTake()
Sem Id: 0xf7dfa40 BINARY EMPTY Owner: 0x7a42e78 (yyyy)
Pended Tasks: xxxx @ 94
但是任务 yyyy 的 tt 如下所示。这里最重要的一点是,这个任务处于“READY”状态。此任务的优先级为 100。
<This task is ready>
(7a42e18) 329220 vxTaskEntry +5c: gggg()
....
(7a42cd8) 37e590 printf +84: fioFormatV()
(7a42ab0) 37fab8 fioFormatV +efc: fioFormatV()
(7a42a98) 37fb44 fioFormatV +f88: write()
(7a42a78) 383218 write +50: iosWrite()
(7a42a00) 385218 iosWrite +d0: devConsCreate()
(7a429e8) 127a18 devConsCreate +f8: write()
(7a429c8) 383218 write +50: iosWrite()
(7a42950) 385218 iosWrite +d0: tyWrite()
(7a42928) 394d80 tyWrite +60: semTake()
(7a42908) 3de698 semTake +90: semBTake()
当'yyyy'本身处于就绪状态时,任务'xxxx'如何为'yyyy'拥有的信号量挂起semBtake()
?