diff --git a/handler/src/main/java/io/netty/handler/timeout/IdleStateHandler.java b/handler/src/main/java/io/netty/handler/timeout/IdleStateHandler.java index c58cd873e4..fec6f50095 100644 --- a/handler/src/main/java/io/netty/handler/timeout/IdleStateHandler.java +++ b/handler/src/main/java/io/netty/handler/timeout/IdleStateHandler.java @@ -268,7 +268,7 @@ public class IdleStateHandler extends ChannelDuplexHandler { @Override public void channelReadComplete(ChannelHandlerContext ctx) throws Exception { - if (readerIdleTimeNanos > 0 || allIdleTimeNanos > 0) { + if ((readerIdleTimeNanos > 0 || allIdleTimeNanos > 0) && reading) { lastReadTime = System.nanoTime(); reading = false; }