Author: markt
Date: Tue Feb 24 12:15:56 2015
New Revision: 1661914

URL: http://svn.apache.org/r1661914
Log:
Fix a bug that meant if end of stream was reached, any data read in this call 
prior to reaching end of stream was lost.

Modified:
    tomcat/trunk/java/org/apache/tomcat/util/net/NioSelectorPool.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioSelectorPool.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioSelectorPool.java?rev=1661914&r1=1661913&r2=1661914&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/NioSelectorPool.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/NioSelectorPool.java Tue Feb 
24 12:15:56 2015
@@ -245,7 +245,13 @@ public class NioSelectorPool {
                 int cnt = 0;
                 if ( keycount > 0 ) { //only read if we were registered for a 
read
                     cnt = socket.read(buf);
-                    if (cnt == -1) throw new EOFException();
+                    if (cnt == -1) {
+                        if (read == 0) {
+                            throw new EOFException();
+                        } else {
+                            break;
+                        }
+                    }
                     read += cnt;
                     if (cnt > 0) continue; //read some more
                     if (cnt==0 && (read>0 || (!block) ) ) break; //we are done 
reading



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

Reply via email to