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)


Reply via email to