多路I/O複用:select、poll、epoll(二)
多路IO複用模型之poll
poll和select一樣,都可用於執行多路複用IO。
poll函式原型
int poll(struct pollfd * fds,
unsigned int nfds,
int timeout);
這裡還是用一張圖來說明各個引數的作用
當poll()返回-1時,errno的值為下列中的一個:
- EBADF:一個或多個結構體中指定的檔案描述符無效;
- EFAULTfds:指標指向的地址超出程式的地址空間;
- EINTR:請求的事件之前產生一個訊號,呼叫可以重新發起;
- EINVALnfds:引數超出PLIMIT_NOFILE值;
- ENOMEM:可用記憶體不足,無法完成請求。
未完待續。。。
相關文章
- IO多路複用(一)– Select、Poll、Epoll
- 一文說透IO多路複用select/poll/epoll
- IO多路複用——深入淺出理解select、poll、epoll的實現
- IO模式 select、poll、epoll模式
- I/O多路複用技術(multiplexing)
- 聊聊select, poll 和 epoll_waitAI
- Netty權威指南:I/O 多路複用技術Netty
- select、poll、epoll之間的區別
- 從網路I/O模型到Netty,先深入瞭解下I/O多路複用模型Netty
- LinuxI/O多路複用Linux
- 一文搞懂I/O多路複用及其技術
- 詳解Go語言I/O多路複用netpoller模型Go模型
- 細談 Linux 中的多路複用epollLinux
- 【Linux網路程式設計】I/O 多路複用技術Linux程式設計
- IO多路複用與epoll機制淺析
- 流?I/O 操作?阻塞?epoll?
- C IO複用select, epoll 簡單總結
- 【面試】I/O 複用面試
- 一篇文章幫你徹底搞清楚“I/O多路複用”和“非同步I/O”的前世今生非同步
- 伺服器IO多路複用的select和poll的區別以及監聽套接字select函式的四個宏操作伺服器函式
- 網路程式設計學習——Linux epoll多路複用模型程式設計Linux模型
- Go netpoll I/O 多路複用構建原生網路模型之原始碼深度解析Go模型原始碼
- 面試官:select、poll、epoll有何區別?我:阿巴阿巴...面試
- Linux IO模式及 select、poll、epoll詳解(含部分例項原始碼)Linux模式原始碼
- Linux下的5種I/O模型與3組I/O複用Linux模型
- 理解select、epoll
- 網路程式設計-I/O複用程式設計
- 多路複用
- 理解IO多路複用
- IO多路複用詳解
- IO多路複用小故事
- Redis 和 IO 多路複用Redis
- 計算機網路——多路複用與多路分解計算機網路
- 玩轉 PHP 網路程式設計全套之 I/O 複用PHP程式設計
- linux系統下poll和epoll核心原始碼剖析Linux原始碼
- [Java併發]IO多路複用Java
- 徹底搞懂IO多路複用
- IO多路複用原理&場景