One-shot *level*-triggered epoll(): Does EPOLLONESHOT imply EPOLLET?
Is it possible to use epoll in one-shot level -triggered mode? I couldn't find any information on it when I searched; it seems everyone uses edge-triggered mode. When the EPOLLONESHOT flag is selected and you have pulled an event for a socket, then the socket won't get removed from epoll as many think but its events get disabled. You can enable them again using epoll_ctl / EPOLL_CTL_MOD . An example case when the EPOLLONESHOT behavior comes handy is when you've read the available data from a socket into a buffer. That buffer would be emptied independently, but until it isn't empty, you have to