diff --git a/transport/src/main/java/io/netty/channel/nio/NioEventLoop.java b/transport/src/main/java/io/netty/channel/nio/NioEventLoop.java index 0c924a5ee6..c091412ecf 100644 --- a/transport/src/main/java/io/netty/channel/nio/NioEventLoop.java +++ b/transport/src/main/java/io/netty/channel/nio/NioEventLoop.java @@ -141,7 +141,9 @@ public final class NioEventLoop extends SingleThreadEventLoop { SelectionKey key = channel.selectionKey(); channel.writableTasks.offer(task); - key.interestOps(key.interestOps() | SelectionKey.OP_WRITE); + if (!key.isWritable()) { + key.interestOps(key.interestOps() | SelectionKey.OP_WRITE); + } } public void rebuildSelector() {