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>[EMAIL PROTECTED]</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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]