You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by co...@apache.org on 2005/11/20 06:22:28 UTC

svn commit: r345722 - in /tomcat/sandbox/java/org/apache/coyote/http11: InternalAprOutputBuffer.java InternalOutputBuffer.java

Author: costin
Date: Sat Nov 19 21:22:24 2005
New Revision: 345722

URL: http://svn.apache.org/viewcvs?rev=345722&view=rev
Log:
Some extra checks

Modified:
    tomcat/sandbox/java/org/apache/coyote/http11/InternalAprOutputBuffer.java
    tomcat/sandbox/java/org/apache/coyote/http11/InternalOutputBuffer.java

Modified: tomcat/sandbox/java/org/apache/coyote/http11/InternalAprOutputBuffer.java
URL: http://svn.apache.org/viewcvs/tomcat/sandbox/java/org/apache/coyote/http11/InternalAprOutputBuffer.java?rev=345722&r1=345721&r2=345722&view=diff
==============================================================================
--- tomcat/sandbox/java/org/apache/coyote/http11/InternalAprOutputBuffer.java (original)
+++ tomcat/sandbox/java/org/apache/coyote/http11/InternalAprOutputBuffer.java Sat Nov 19 21:22:24 2005
@@ -44,7 +44,7 @@
      * Default constructor.
      */
     public InternalAprOutputBuffer(Response response) {
-        super(response, Constants.DEFAULT_HTTP_HEADER_BUFFER_SIZE);
+        this(response, Constants.DEFAULT_HTTP_HEADER_BUFFER_SIZE);
     }
 
 
@@ -60,6 +60,7 @@
 
         // Cause loading of HttpMessages
         HttpMessages.getMessage(200);
+        socketBuffer=null;
     }
 
     // ----------------------------------------------------- Instance Variables

Modified: tomcat/sandbox/java/org/apache/coyote/http11/InternalOutputBuffer.java
URL: http://svn.apache.org/viewcvs/tomcat/sandbox/java/org/apache/coyote/http11/InternalOutputBuffer.java?rev=345722&r1=345721&r2=345722&view=diff
==============================================================================
--- tomcat/sandbox/java/org/apache/coyote/http11/InternalOutputBuffer.java (original)
+++ tomcat/sandbox/java/org/apache/coyote/http11/InternalOutputBuffer.java Sat Nov 19 21:22:24 2005
@@ -207,7 +207,8 @@
      * Set the socket buffer size.
      */
     public void setSocketBuffer(int socketBufferSize) {
-
+        
+        if( socketBuffer == null ) return;
         if (socketBufferSize > 500) {
             useSocketBuffer = true;
             socketBuffer.allocate(socketBufferSize, socketBufferSize);
@@ -300,7 +301,7 @@
         }
 
         // Flush the current buffer
-        if (useSocketBuffer) {
+        if (useSocketBuffer && socketBuffer != null ) {
             socketBuffer.flushBuffer();
         }
 
@@ -331,7 +332,9 @@
 
         // Recycle Request object
         response.recycle();
-        socketBuffer.recycle();
+        if( socketBuffer != null ) {
+            socketBuffer.recycle();
+        }
 
         outputStream = null;
         buf = headerBuffer;
@@ -353,7 +356,10 @@
 
         // Recycle Request object
         response.recycle();
-        socketBuffer.recycle();
+        // this is not used in apr 
+        if( socketBuffer != null ) {
+            socketBuffer.recycle();
+        }
 
         // Determine the header buffer used for next request
         buf = headerBuffer;
@@ -395,7 +401,7 @@
         if (lastActiveFilter != -1)
             activeFilters[lastActiveFilter].end();
 
-        if (useSocketBuffer) {
+        if (useSocketBuffer && socketBuffer != null ) {
             socketBuffer.flushBuffer();
         }
 
@@ -455,6 +461,8 @@
         }
 
         // End the response status line
+        // This was missing in APR !
+        // Why is this needed ???? 
         if (System.getSecurityManager() != null){
            AccessController.doPrivileged(
                 new PrivilegedAction(){
@@ -472,7 +480,7 @@
 
     }
 
-    private String getMessage(final int message){
+    protected String getMessage(final int message){
         if (System.getSecurityManager() != null){
            return (String)AccessController.doPrivileged(
                 new PrivilegedAction(){
@@ -598,7 +606,7 @@
 
         if (pos > 0) {
             // Sending the response header buffer
-            if (useSocketBuffer) {
+            if (useSocketBuffer && socketBuffer != null) {
                 socketBuffer.append(buf, 0, pos);
             } else {
                 outputStream.write(buf, 0, pos);
@@ -765,7 +773,7 @@
         public int doWrite(ByteChunk chunk, Response res) 
             throws IOException {
 
-            if (useSocketBuffer) {
+            if (useSocketBuffer && socketBuffer != null ) {
                 socketBuffer.append(chunk.getBuffer(), chunk.getStart(), 
                                    chunk.getLength());
             } else {



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org