0
假設我添加一個工作excJobAdd(myFunc, ...)
這將被安排在excTask
。在函數中,我做了一個阻塞呼叫:在`tExcTask`中做一個阻塞調用的後果是什麼?
int myFunc(...) {
...
semTake(...)
...
}
假設我從來沒有出過阻塞呼叫。後果是什麼?
有一件事我能想到的是:
- 所有後續作業
excTask
將被阻止
假設我添加一個工作excJobAdd(myFunc, ...)
這將被安排在excTask
。在函數中,我做了一個阻塞呼叫:在`tExcTask`中做一個阻塞調用的後果是什麼?
int myFunc(...) {
...
semTake(...)
...
}
假設我從來沒有出過阻塞呼叫。後果是什麼?
有一件事我能想到的是:
excTask
將被阻止雖然tExcTask是不是一個真正的ISR /異常,但仍執行ISR上下文。嘗試在ISR上下文中執行阻塞呼叫是非法的,並引發相應的errno。