epoll fails to wake when fd added
A regression was introduced by illumos-gate#6291 with respect to poll/epoll waiters being properly woken when a new fd is added to the pollcache.
The bug was originally via smartos-discuss and recorded in OS-5222
Prior supporting recursive epoll, dpwrite would "kick out" threads waiting on the pollcache cv when making alterations to the fd set. This meant that any new additions would be checked by the waiters on reentry to the pollcache. That extent of that exclusion was changed for recursive epoll so that waiters are not "kicked out" from the devpoll entry during a write. As such, the logic must be updated to wake them in the face of an fd addition.
Updated by Electric Monk about 5 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
commit bf75909a55b2efbe96ab2fe820866fc77fab58c9 Author: Patrick Mooney <email@example.com> Date: 2016-03-11T21:29:21.000Z 6732 epoll fails to wake when fd added Reviewed by: Jerry Jelinek <firstname.lastname@example.org> Reviewed by: Bryan Cantrill <email@example.com> Reviewed by: Dan McDonald <firstname.lastname@example.org> Reviewed by: Toomas Soome <email@example.com> Reviewed by: Richard PALO <firstname.lastname@example.org> Approved by: Richard Lowe <email@example.com>