From dd1c1707d306a1b6bc55ddac691882e9afb390cc Mon Sep 17 00:00:00 2001 From: kkolinko Date: Wed, 21 Sep 2011 13:14:29 +0000 Subject: [PATCH] Simplify code in NioEndpoint$Poller. The events.size() call is costly, because it is a loop that counts entries in a linked queue. Actually it is not needed here at all, because we iterate the queue by ourselves. git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1173614 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/tomcat/util/net/NioEndpoint.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/java/org/apache/tomcat/util/net/NioEndpoint.java b/java/org/apache/tomcat/util/net/NioEndpoint.java index e5e59f9a9..6138ba6d6 100644 --- a/java/org/apache/tomcat/util/net/NioEndpoint.java +++ b/java/org/apache/tomcat/util/net/NioEndpoint.java @@ -970,13 +970,19 @@ public class NioEndpoint extends AbstractEndpoint { else r.reset(socket,null,interestOps); addEvent(r); } - + + /** + * Processes events in the event queue of the Poller. + * + * @return true if some events were processed, + * false if queue was empty + */ public boolean events() { boolean result = false; Runnable r = null; - result = (events.size() > 0); while ( (r = events.poll()) != null ) { + result = true; try { r.run(); if ( r instanceof PollerEvent ) { -- 2.11.0