Author: sebb
Date: Sat Aug 18 10:24:36 2012
New Revision: 1374548

URL: http://svn.apache.org/viewvc?rev=1374548&view=rev
Log:
NET-466 Regression: TelnetInputStream#available() blocks

Modified:
    commons/proper/net/trunk/src/changes/changes.xml
    
commons/proper/net/trunk/src/main/java/org/apache/commons/net/telnet/TelnetInputStream.java

Modified: commons/proper/net/trunk/src/changes/changes.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/net/trunk/src/changes/changes.xml?rev=1374548&r1=1374547&r2=1374548&view=diff
==============================================================================
--- commons/proper/net/trunk/src/changes/changes.xml (original)
+++ commons/proper/net/trunk/src/changes/changes.xml Sat Aug 18 10:24:36 2012
@@ -65,6 +65,9 @@ The <action> type attribute can be add,u
         <release version="3.2" date="TBA" description="
 TBA
         ">
+            <action issue="NET-466" dev="sebb" type="fix" due-to="Martin 
Oberhuber">
+            Regression: TelnetInputStream#available() blocks.
+            </action>
             <action issue="NET-426" dev="sebb" type="fix" due-to="Ketan">
             FTPS: Hook to customize _openDataConnection_ SSLSocket before 
startHandshake() is called.
             Implement _openDataConnection(String, String) method to properly

Modified: 
commons/proper/net/trunk/src/main/java/org/apache/commons/net/telnet/TelnetInputStream.java
URL: 
http://svn.apache.org/viewvc/commons/proper/net/trunk/src/main/java/org/apache/commons/net/telnet/TelnetInputStream.java?rev=1374548&r1=1374547&r2=1374548&view=diff
==============================================================================
--- 
commons/proper/net/trunk/src/main/java/org/apache/commons/net/telnet/TelnetInputStream.java
 (original)
+++ 
commons/proper/net/trunk/src/main/java/org/apache/commons/net/telnet/TelnetInputStream.java
 Sat Aug 18 10:24:36 2012
@@ -561,7 +561,11 @@ final class TelnetInputStream extends Bu
         // Critical section because run() may change __bytesAvailable
         synchronized (__queue)
         {
-            return __bytesAvailable + super.available();
+            if (__threaded) { // Must not call super.available when running 
threaded: NET-466
+                return __bytesAvailable;
+            } else {
+                return __bytesAvailable + super.available();
+            }
         }
     }
 


Reply via email to