netty5/transport/src
Scott Mitchell c80fdc8241 AbstractChannel should call doClose even after shutdownOutput
Motivation:
ShutdownOutput now fails all pending writes in the ChannelOutboundBuffer and sets it to null. However the Close code path uses the ChannelOutboundBuffer as an indication that the close operation is in progress and exits early and will not call doClose. This will lead to the Channel not actually being fully closed.

Bug introduced by 237a4da1b7

Modifications:
- AbstractChannel#close shouldn't exit early just because outboundBuffer is null, and instead should use additional state closeInitiated to avoid duplicate close operations

Result:
AbstractChannel#close(..) after AbstractChannel#shutdownOutbound() will still invoke doClose and cleanup Channel state.
2017-08-24 12:30:34 +02:00
..
main/java/io/netty AbstractChannel should call doClose even after shutdownOutput 2017-08-24 12:30:34 +02:00
test/java/io/netty Correctly run all pending tasks for EmbeddedChannel when the Channel was closed. 2017-07-30 06:57:18 +02:00