2013-02-19 35 views
0

假設我添加一個工作excJobAdd(myFunc, ...)這將被安排在excTask。在函數中,我做了一個阻塞呼叫:在`tExcTask`中做一個阻塞調用的後果是什麼?

int myFunc(...) { 
    ... 
    semTake(...) 
    ... 
} 

假設我從來沒有出過阻塞呼叫。後果是什麼?

有一件事我能想到的是:

  • 所有後續作業excTask將被阻止

回答

0

雖然tExcTask是不是一個真正的ISR /異常,但仍執行ISR上下文。嘗試在ISR上下文中執行阻塞呼叫是非法的,並引發相應的errno。

相關問題