2012-05-09 101 views
0

我想知道是否存在 - 至少在Linux下 - 系統調用監視一組文件描述符並首先「服務」準備好的第一個文件描述符操作。Linux文件描述符複用中的策略(select等)

我一直在與select,我不指望select強制執行一種對手錶的描述FirstComeFirstServed政策,因爲它的實施應在投票的輕微變化。

也許我是要求一個事件驅動的處理程序,但我不知道epoll超出它的存在。

感謝

+0

爲什麼您需要此FCFS行爲? –

+0

在幾個接口上嗅探數據包。 – ziu

+0

'select(2)'等已經揭示哪些FD需要注意。這與你所需要的有何不同? –

回答

1

所有事件解複用器(select/poll/epoll)信號中的所有函數依賴它在那個時刻需要注意的(基於表設置您所提供),有沒有區別,不同之處在於epoll也可以用以邊緣觸發的方式。

在任何時候,結果集都可以包含多個FD(沒有任何額外的排序),因爲您在多任務操作系統上運行,所以等到您的進程計劃好時,可能會發生多個事件。注意:運行RT(Real-Time)內核並將進程設置爲高或實時優先級可能會有所幫助...

+0

當我準備好多個FD時,「維修」訂單將取決於手錶中FD的訂單。我對嗎 ? – ziu

+0

手錶中沒有訂單。這是一個**集合**,在數學意義上這個詞。在結果中有**沒有**命令或者...您決定首先服務哪些FD。 –

+0

因此我假設當多個描述符碰巧準備就緒時(因爲調度等),沒有實施FCFS。 – ziu