Author: remm Date: Mon Mar 18 15:15:37 2013 New Revision: 1457800 URL: http://svn.apache.org/r1457800 Log: - The listener field didn't seem to be recycled anywhere. - Throw an ISE if already set (the spec says that).
Modified: tomcat/trunk/java/org/apache/catalina/connector/InputBuffer.java tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java Modified: tomcat/trunk/java/org/apache/catalina/connector/InputBuffer.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/InputBuffer.java?rev=1457800&r1=1457799&r2=1457800&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/connector/InputBuffer.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/InputBuffer.java Mon Mar 18 15:15:37 2013 @@ -210,6 +210,7 @@ public class InputBuffer extends Reader gotEnc = false; enc = null; + listener = null; } @@ -251,6 +252,7 @@ public class InputBuffer extends Reader private volatile ReadListener listener; public void setReadListener(ReadListener listener) { + if (getReadListener()!=null) throw new IllegalStateException("Read listener already set."); this.listener = listener; coyoteRequest.action(ActionCode.SET_READ_LISTENER, listener); } Modified: tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java?rev=1457800&r1=1457799&r2=1457800&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java Mon Mar 18 15:15:37 2013 @@ -247,6 +247,7 @@ public class OutputBuffer extends Writer gotEnc = false; enc = null; + listener = null; } @@ -663,6 +664,7 @@ public class OutputBuffer extends Writer private volatile WriteListener listener; public void setWriteListener(WriteListener listener) { + if (getWriteListener()!=null) throw new IllegalStateException("Write listener already set."); this.listener = listener; coyoteResponse.action(ActionCode.SET_WRITE_LISTENER, listener); } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org