You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by df...@apache.org on 2006/04/23 18:59:51 UTC
svn commit: r396292 - in /jakarta/commons/proper/net/trunk: project.xml
src/java/org/apache/commons/net/telnet/TelnetInputStream.java
xdocs/changes.xml
Author: dfs
Date: Sun Apr 23 09:59:49 2006
New Revision: 396292
URL: http://svn.apache.org/viewcvs?rev=396292&view=rev
Log:
Applied Rob Hasselbaum's (rhasselbaum at alumni.ithaca.edu) patch for
PR 38688 fixing a TelnetInputStream hang.
Modified:
jakarta/commons/proper/net/trunk/project.xml
jakarta/commons/proper/net/trunk/src/java/org/apache/commons/net/telnet/TelnetInputStream.java
jakarta/commons/proper/net/trunk/xdocs/changes.xml
Modified: jakarta/commons/proper/net/trunk/project.xml
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/net/trunk/project.xml?rev=396292&r1=396291&r2=396292&view=diff
==============================================================================
--- jakarta/commons/proper/net/trunk/project.xml (original)
+++ jakarta/commons/proper/net/trunk/project.xml Sun Apr 23 09:59:49 2006
@@ -145,6 +145,10 @@
<contributors>
<contributor>
+ <name>Rob Hasselbaum</name>
+ <email>rhasselbaum -> alumni.ithaca.edu</email>
+ </contributor>
+ <contributor>
<name>Mario Ivankovits</name>
<email>mario@ops.co.at</email>
</contributor>
Modified: jakarta/commons/proper/net/trunk/src/java/org/apache/commons/net/telnet/TelnetInputStream.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/net/trunk/src/java/org/apache/commons/net/telnet/TelnetInputStream.java?rev=396292&r1=396291&r2=396292&view=diff
==============================================================================
--- jakarta/commons/proper/net/trunk/src/java/org/apache/commons/net/telnet/TelnetInputStream.java (original)
+++ jakarta/commons/proper/net/trunk/src/java/org/apache/commons/net/telnet/TelnetInputStream.java Sun Apr 23 09:59:49 2006
@@ -277,6 +277,8 @@
{
while (__bytesAvailable >= __queue.length - 1)
{
+ // The queue is full. We need to wait before adding any more data to it. Hopefully the stream owner
+ // will consume some data soon!
if(__threaded)
{
__queue.notify();
@@ -289,6 +291,12 @@
throw e;
}
}
+ else
+ {
+ // We've been asked to add another character to the queue, but it is already full and there's
+ // no other thread to drain it. This should not have happened!
+ throw new IllegalStateException("Queue is full! Cannot process another character.");
+ }
}
// Need to do this in case we're not full, but block on a read
@@ -389,8 +397,9 @@
return (-1);
}
}
- while (super.available() > 0);
-
+ // Continue reading as long as there is data available and the queue is not full.
+ while (super.available() > 0 && __bytesAvailable < __queue.length - 1);
+
__readIsWaiting = false;
}
continue;
Modified: jakarta/commons/proper/net/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/net/trunk/xdocs/changes.xml?rev=396292&r1=396291&r2=396292&view=diff
==============================================================================
--- jakarta/commons/proper/net/trunk/xdocs/changes.xml (original)
+++ jakarta/commons/proper/net/trunk/xdocs/changes.xml Sun Apr 23 09:59:49 2006
@@ -23,6 +23,12 @@
<body>
<release version="1.4.x" date="" description="">
+ <action dev="dfs" type="fix">
+ Applied Rob Hasselbaum's
+ <rhasselbaum -> alumni.ithaca.edu>
+ patch for PR 38688 fixing a
+ TelnetInputStream hang.
+ </action>
<action dev="dfs" type="update">
Exposed control connection of FTP
class via _controlInput_ and _controlOutput_
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org