libev/epoll 的奇怪行为

libev/epoll 的奇怪行为

我通过 libev 使用 epoll,并遇到了这种奇怪的行为。

假设我收到一个读取可用事件,并且没有从文件描述符中读取所有数据。由于 libev 使用级别触发,我应该继续接收读取事件。

如果我只从描述符中读取,这是真的。但如果我也写的话,就会有问题。

即我收到一个读取事件,从描述符中读取部分数据,然后将一些内容写入描述符中。此后,将不再接收读取事件,直到该描述符中出现新数据为止。

我想知道这种行为是否记录在某处,或者这是 Linux 中的一个错误?

相关内容