Low priority source revents value coming wrongly to application
Submitted by madana gopal
Link to original bug (#767730)
Description
When we have both low priority and high priority source event landing simultaneously with revents set to 1 in poll(), low priority event is ignored in check() function.
At the start of next loop cycle, prepare() saw the revents value of low priority source as 1 (got in previous cycle) and set its ready flag.But this is not processed. revents of all the sources is set to 0 in query() function before poll(). poll() happened, at which revents of low priority source is coming as 0. At this time, only ready flag set by prepare() at the start of loop is considered and current revents is sent to application through dispatch().
This looks inconsistent, as ready flag is set by previous poll(), but revents of current poll is sent.
Version: 2.38.x