From 96f1464b0f7ac6a9e46ccd90a2f98732c089388f Mon Sep 17 00:00:00 2001 From: remm Date: Sat, 28 Apr 2007 00:49:06 +0000 Subject: [PATCH] - Add socket to the poller after cleanup in the connection handler event method (possible memory leak). git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@533272 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/coyote/http11/Http11AprProcessor.java | 2 -- java/org/apache/coyote/http11/Http11AprProtocol.java | 5 +++++ java/org/apache/coyote/http11/Http11NioProcessor.java | 2 -- java/org/apache/coyote/http11/Http11NioProtocol.java | 4 ++++ 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/java/org/apache/coyote/http11/Http11AprProcessor.java b/java/org/apache/coyote/http11/Http11AprProcessor.java index 3d7eaad46..61fc53aaa 100644 --- a/java/org/apache/coyote/http11/Http11AprProcessor.java +++ b/java/org/apache/coyote/http11/Http11AprProcessor.java @@ -753,11 +753,9 @@ public class Http11AprProcessor implements ActionHook { recycle(); return SocketState.CLOSED; } else if (!comet) { - endpoint.getPoller().add(socket); recycle(); return SocketState.OPEN; } else { - endpoint.getCometPoller().add(socket); return SocketState.LONG; } } diff --git a/java/org/apache/coyote/http11/Http11AprProtocol.java b/java/org/apache/coyote/http11/Http11AprProtocol.java index 42d3c9bc2..3a659b9fa 100644 --- a/java/org/apache/coyote/http11/Http11AprProtocol.java +++ b/java/org/apache/coyote/http11/Http11AprProtocol.java @@ -560,6 +560,11 @@ public class Http11AprProtocol implements ProtocolHandler, MBeanRegistration { if (state != SocketState.LONG) { connections.remove(socket); recycledProcessors.offer(result); + if (state == SocketState.OPEN) { + proto.endpoint.getPoller().add(socket); + } + } else { + proto.endpoint.getCometPoller().add(socket); } } } diff --git a/java/org/apache/coyote/http11/Http11NioProcessor.java b/java/org/apache/coyote/http11/Http11NioProcessor.java index b74d5507d..9d3f8bc6e 100644 --- a/java/org/apache/coyote/http11/Http11NioProcessor.java +++ b/java/org/apache/coyote/http11/Http11NioProcessor.java @@ -782,11 +782,9 @@ public class Http11NioProcessor implements ActionHook { recycle(); return SocketState.CLOSED; } else if (!comet) { - socket.getPoller().add(socket); recycle(); return SocketState.OPEN; } else { - socket.getPoller().add(socket); return SocketState.LONG; } } diff --git a/java/org/apache/coyote/http11/Http11NioProtocol.java b/java/org/apache/coyote/http11/Http11NioProtocol.java index d313adf5c..8294c21ed 100644 --- a/java/org/apache/coyote/http11/Http11NioProtocol.java +++ b/java/org/apache/coyote/http11/Http11NioProtocol.java @@ -665,8 +665,12 @@ public class Http11NioProtocol implements ProtocolHandler, MBeanRegistration if (state != SocketState.LONG) { connections.remove(socket); recycledProcessors.offer(result); + if (state == SocketState.OPEN) { + socket.getPoller().add(socket); + } } else { if (log.isDebugEnabled()) log.debug("Keeping processor["+result); + socket.getPoller().add(socket); } } } -- 2.11.0