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

Reply via email to