netty5/transport-native-epoll
Nick Hill 0eb363de94 Close eventfd shutdown/wakeup race by closely tracking epoll edges (#9586) (#9612)
Motivation

This is another iteration of #9476.

Modifications

Instead of maintaining a count of all writes performed and then using
reads during shutdown to ensure all are accounted for, just set a flag
after each write and don't reset it until the corresponding event has
been returned from epoll_wait.

This requires that while a write is still pending we don't reset
wakenUp, i.e. continue to block writes from the wakeup() method.

Result

Race condition eliminated. Fixes #9362


Co-authored-by: Norman Maurer <norman_maurer@apple.com>
2019-09-27 09:55:44 +02:00
..
src Close eventfd shutdown/wakeup race by closely tracking epoll edges (#9586) (#9612) 2019-09-27 09:55:44 +02:00
pom.xml Fix broken pipe due to /usr/bin/ldd (#9606) 2019-09-26 22:26:45 +02:00
README.md Change the netty.io homepage scheme(http -> https) (#9344) 2019-07-09 21:10:14 +02:00

Native transport for Linux

See our wiki page.