I was using epoll through libev, and hit this weird behavior.Suppose I get a read available event, and don't read all the data from the file descriptor. Since libev uses level-trigger, I should continue receiving read event.And this was true, if I only read from the descriptor. But if I also writes to it, there will be problem.i.e. I get a read event, read part of the data from the descriptor, and then write something into the descriptor. Afterwards no more read event will be received until new data is available in that descriptor.I wonder if this behavior is documented somewhere, or is this a bug in Linux?
Weird behavior of libev/epoll
linux;io