diff --git a/transport/src/main/java/io/netty/channel/oio/AbstractOioByteChannel.java b/transport/src/main/java/io/netty/channel/oio/AbstractOioByteChannel.java index 86f312fbb8..a64da7c631 100644 --- a/transport/src/main/java/io/netty/channel/oio/AbstractOioByteChannel.java +++ b/transport/src/main/java/io/netty/channel/oio/AbstractOioByteChannel.java @@ -154,7 +154,10 @@ public abstract class AbstractOioByteChannel extends AbstractOioChannel { protected void doWrite(ChannelOutboundBuffer in) throws Exception { for (;;) { Object msg = in.current(false); - + if (msg == null) { + // nothing left to write + break; + } if (msg instanceof ByteBuf) { ByteBuf buf = (ByteBuf) msg; while (buf.isReadable()) {