TerminalSession.st
changeset 3037 47f022308e7d
parent 3028 e49cf8755fd6
child 3038 c418ee215311
--- a/TerminalSession.st	Sat Jul 06 21:27:05 2013 +0200
+++ b/TerminalSession.st	Sun Jul 07 09:39:35 2013 +0200
@@ -98,6 +98,8 @@
 !
 
 closeStreams
+    self stopReaderProcess.
+
     inStream notNil ifTrue:[
         inStream isStream ifTrue:[inStream close].
         inStream := nil
@@ -461,22 +463,24 @@
 stopReaderProcess
     "stop the background reader thread"
 
-    readerProcess notNil ifTrue:[
-        readerProcess terminate.
+    |p|
+
+    (p := readerProcess) notNil ifTrue:[
+        readerProcess := nil.
+        p terminate.
         "/ give it a chance to really terminate
         Processor yield.
-        readerProcess := nil
     ].
 ! !
 
 !TerminalSession class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic2/TerminalSession.st,v 1.1 2013-07-06 19:25:54 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic2/TerminalSession.st,v 1.2 2013-07-07 07:39:35 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic2/TerminalSession.st,v 1.1 2013-07-06 19:25:54 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic2/TerminalSession.st,v 1.2 2013-07-07 07:39:35 cg Exp $'
 ! !