我讀文件abount邊緣網絡觸發epoll的功能如下:爲什麼要在邊緣觸發的epoll函數中使用非阻塞fd?
1. The file descriptor that represents the read side of a pipe (rfd) is registered on the epoll instance.
2. A pipe writer writes 2 kB of data on the write side of the pipe.
3. A call to epoll_wait(2) is done that will return rfd as a ready file descriptor.
4. The pipe reader reads 1 kB of data from rfd.
5. A call to epoll_wait(2) is done.
.......
.......
epoll的使用作爲一個邊沿觸發(EPOLLET)接口建議的方法如下: 我)使用非阻塞文件描述符 II )只有在讀取(2)或寫入(2)返回EAGAIN之後才調用epoll_wait。
我明白2,但我不知道爲什麼使用非阻塞文件描述符。
任何人都可以解釋爲什麼使用非阻塞文件描述符的原因? 爲什麼在級別觸發的epoll函數中使用阻塞文件描述符是正確的?
如何處理「有可能遺漏新數據的可能性」? – cong