Author: sebb
Date: Tue Mar 22 17:22:48 2011
New Revision: 1084258
URL: http://svn.apache.org/viewvc?rev=1084258&view=rev
Log:
NET-362 TelnetInputStream has various threading bugs.
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=1084258&r1=1084257&r2=1084258&view=diff
==============================================================================
--- commons/proper/net/trunk/src/changes/changes.xml (original)
+++ commons/proper/net/trunk/src/changes/changes.xml Tue Mar 22 17:22:48 2011
@@ -57,6 +57,9 @@ The <action> type attribute can be add,u
<body>
<release version="3.0" date="TBA" description="TBA">
+ <action issue="NET-362" dev="sebb" type="fix">
+ TelnetInputStream has various threading bugs.
+ </action>
<action issue="NET-89" dev="sebb" type="fix">
TelnetClient use of FromNetASCIIInputStream and
ToNetASCIIOutputStream breaks binary mode.
See also NET-387.
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=1084258&r1=1084257&r2=1084258&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
Tue Mar 22 17:22:48 2011
@@ -46,7 +46,8 @@ final class TelnetInputStream extends Bu
_STATE_WONT = 3, _STATE_DO = 4, _STATE_DONT = 5,
_STATE_SB = 6, _STATE_SE = 7, _STATE_CR = 8,
_STATE_IAC_SB = 9;
- private boolean __hasReachedEOF, __isClosed;
+ private boolean __hasReachedEOF;
+ private volatile boolean __isClosed;
private boolean __readIsWaiting;
private int __receiveState, __queueHead, __queueTail, __bytesAvailable;
private final int[] __queue;
@@ -59,7 +60,7 @@ final class TelnetInputStream extends Bu
private int __suboption_count = 0;
/* TERMINAL-TYPE option (end)*/
- private boolean __threaded;
+ private volatile boolean __threaded;
TelnetInputStream(InputStream input, TelnetClient client,
boolean readerThread)