Linux システム コールをいじっていて、 のいくつかの側面を見つけましたがepoll
、それは私には明確ではありません。epoll
たとえば、インスタンスを作成します。
epollfd = epoll_create(50);
次に、50 個のファイル記述子をfor
-loopに登録します。
for(i=0; i<50; i++){
// open file "file-i".txt
// construct epoll_event
// register new file descriptor with epoll_ctl(epollfd, EPOLL_CTL_ADD ...
これで、アクションの準備が整った 50 個のファイルができました (読み取りか書き込みかは関係ありません)。MAX_EVENTS を 3 に設定します。
#define MAX_EVENTS 3
...
struct epoll_event events[MAX_EVENTS]
...
epoll_wait(epollfd, events, MAX_EVENTS, -1)
これらの 50 個のファイルはすべて準備ができていて、そのうちの 3 個だけを要求しました。どのファイルがevents
配列になりますか?
- [1,2,3] -- epoll に追加された順に最初の 3 つのファイル
- [48,49,50] -- epoll に追加された順番での最後の 3 つのファイル
- [34, 7, 15] -- ランダムな 3 つのファイル
- その他のオプション
ありがとうございました。