From 52221931d50c00b06bd43114856bbd0fafc68403 Mon Sep 17 00:00:00 2001 From: Trustin Lee Date: Mon, 26 Oct 2009 16:41:56 +0000 Subject: [PATCH] A workaround for 100% CPU consumption issue in NIO selectors, suggested by David M. Lloyd --- .../org/jboss/netty/channel/socket/nio/NioDatagramWorker.java | 2 +- src/main/java/org/jboss/netty/channel/socket/nio/NioWorker.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/jboss/netty/channel/socket/nio/NioDatagramWorker.java b/src/main/java/org/jboss/netty/channel/socket/nio/NioDatagramWorker.java index 3ee11d6621..0c69962a28 100644 --- a/src/main/java/org/jboss/netty/channel/socket/nio/NioDatagramWorker.java +++ b/src/main/java/org/jboss/netty/channel/socket/nio/NioDatagramWorker.java @@ -339,7 +339,7 @@ class NioDatagramWorker implements Runnable { i.remove(); try { int readyOps = k.readyOps(); - if ((readyOps & SelectionKey.OP_READ) != 0) { + if ((readyOps & SelectionKey.OP_READ) != 0 || readyOps == 0) { if (!read(k)) { // Connection already closed - no need to handle write. continue; diff --git a/src/main/java/org/jboss/netty/channel/socket/nio/NioWorker.java b/src/main/java/org/jboss/netty/channel/socket/nio/NioWorker.java index 5309680222..224b6389e9 100644 --- a/src/main/java/org/jboss/netty/channel/socket/nio/NioWorker.java +++ b/src/main/java/org/jboss/netty/channel/socket/nio/NioWorker.java @@ -271,7 +271,7 @@ class NioWorker implements Runnable { i.remove(); try { int readyOps = k.readyOps(); - if ((readyOps & SelectionKey.OP_READ) != 0) { + if ((readyOps & SelectionKey.OP_READ) != 0 || readyOps == 0) { if (!read(k)) { // Connection already closed - no need to handle write. continue;