Suppose my process uses epoll with Edge Trigger, and the following
scenario takes place:

1. call epoll\_wait, succeeds with one fd ready for reading.
2. while recv() succeeds, keep reading all data
3. recv() return EWOULDBLOCK
4. More data comes in now
5. Go to step #1

Will epoll\_wait() return immediately? Or wait till next data is incoming?