--- a/TerminalSession.st Fri Aug 16 17:03:36 2013 +0200
+++ b/TerminalSession.st Fri Aug 16 19:13:01 2013 +0200
@@ -222,14 +222,16 @@
tell me, whenever something arrives"
|blocked exitStatus
- cmd shell args env shellAndArgs|
+ cmd shell args env shellAndArgs didOpenTerminal|
shellCommand := aCommand.
shellDirectory := aDirectory.
terminatedAction := terminatedActionArg.
+ didOpenTerminal := false.
(inStream isNil or:[outStream isNil]) ifTrue:[
self createTerminalConnectionAndSetupWith:setupBlock.
+ didOpenTerminal := true.
].
OperatingSystem isMSWINDOWSlike ifTrue:[
shellAndArgs := OperatingSystem commandAndArgsForOSCommand:aCommand.
@@ -289,16 +291,18 @@
(pty at:2) close.
].
- stdOutToStxPipe notNil ifTrue:[
- (stdOutToStxPipe at:2) close.
- (stxToStdinPipe at:1) close.
- ].
+ didOpenTerminal ifTrue:[
+ stdOutToStxPipe notNil ifTrue:[
+ (stdOutToStxPipe at:2) close.
+ (stxToStdinPipe at:1) close.
+ ].
- shellPid isNil ifTrue:[
+ shellPid isNil ifTrue:[
"/ self warn:'Cannot start shell'.
- outStream close.
- inStream close.
- inStream := outStream := nil.
+ outStream close.
+ inStream close.
+ inStream := outStream := nil.
+ ].
].
^ shellPid
@@ -620,11 +624,11 @@
!TerminalSession class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic2/TerminalSession.st,v 1.9 2013-08-16 15:03:36 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic2/TerminalSession.st,v 1.10 2013-08-16 17:13:01 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic2/TerminalSession.st,v 1.9 2013-08-16 15:03:36 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic2/TerminalSession.st,v 1.10 2013-08-16 17:13:01 cg Exp $'
! !