netty5/transport-native-epoll/src
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
..
main Close eventfd shutdown/wakeup race by closely tracking epoll edges (#9586) (#9612) 2019-09-27 09:55:44 +02:00
test/java/io/netty/channel/epoll Correctly handle IPV6-mapped-IPV4 addresses in native code when receiving datagrams (#9560) 2019-09-11 20:31:50 +02:00