Author: fhanik Date: Thu Jul 13 22:14:31 2006 New Revision: 421808 URL: http://svn.apache.org/viewvc?rev=421808&view=rev Log: While this change made my linux box go faster, I could constantly crash my windows VM, so it will have to wait
Modified: tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Modified: tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=421808&r1=421807&r2=421808&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Thu Jul 13 22:14:31 2006 @@ -39,7 +39,6 @@ import org.apache.tomcat.jni.SSL; import org.apache.tomcat.jni.Status; import org.apache.tomcat.util.res.StringManager; -import java.util.concurrent.ConcurrentLinkedQueue; /** * NIO tailored thread pool, providing the following services: @@ -966,7 +965,7 @@ public class Poller implements Runnable { protected Selector selector; - protected ConcurrentLinkedQueue<Runnable> events = new ConcurrentLinkedQueue<Runnable>(); + protected LinkedList<Runnable> events = new LinkedList<Runnable>(); protected boolean close = false; protected long nextExpiration = 0;//optimize expiration handling @@ -1007,7 +1006,9 @@ } public void addEvent(Runnable event) { - events.add(event); + synchronized (events) { + events.add(event); + } selector.wakeup(); } @@ -1043,13 +1044,16 @@ } public void events() { - Runnable r = null; - while ( (events.size() > 0) && (r = events.poll()) != null ) { - try { - r.run(); - } catch ( Exception x ) { - log.error("",x); + synchronized (events) { + Runnable r = null; + while ( (events.size() > 0) && (r = events.removeFirst()) != null ) { + try { + r.run(); + } catch ( Exception x ) { + log.error("",x); + } } + events.clear(); } } @@ -1066,7 +1070,9 @@ } }; - events.add(r); + synchronized (events) { + events.add(r); + } selector.wakeup(); } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]