Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
epoll: don't miss poll events under high load
If multiple epoll sources generate events simultaneously, it is possible for more jobs to be added to particular priority level than will be handled in one go by qb_loop_run_level(). If one of these epoll sources gains a new event (say, by switching from "readable" to "readable and writeable"), then this new event would be missed. To fix this, merge new epoll events into revents regardless of whether the job is on the joblist. When the job is dispatched, revents will be cleared, or the epoll source will be deleted entirely.
- Loading branch information