--- a/TerminalSession.st Mon Apr 30 21:38:45 2018 +0200
+++ b/TerminalSession.st Mon Apr 30 21:53:32 2018 +0200
@@ -776,6 +776,9 @@
StreamError handle:[:ex |
Transcript show:'Terminal(PTY-reader) [error]: '; showCR:ex description.
] do:[
+ |outStreamWasNonNil|
+
+ outStreamWasNonNil := false.
[true] whileTrue:[
AbortOperationRequest handle:[:ex |
^ self
@@ -784,8 +787,10 @@
readerDelay notNil ifTrue:[ Delay waitForSeconds:readerDelay].
outStream isNil ifTrue:[
+ outStreamWasNonNil ifTrue:[^ self].
Delay waitForSeconds:0.1
] ifFalse:[
+ outStreamWasNonNil := true.
outStream readWait.
(pluggableCheckBeforeReadAction isNil
@@ -795,7 +800,6 @@
"/ Windows IPC has a bug - it always
"/ returns 0 (when the command is idle)
"/ and says it's at the end (sigh)
-
OperatingSystem isMSWINDOWSlike ifTrue:[
Delay waitForSeconds:0.1
] ifFalse:[
@@ -805,7 +809,6 @@
Processor activeProcess terminate.
] ifFalse:[
"/ this should not happen.
-
Delay waitForSeconds:0.1
]
].
@@ -852,6 +855,10 @@
p terminate.
"/ give it a chance to really terminate
Processor yield.
+ "/ read any remaining data
+ (self readAnyAvailableData > 0) ifTrue:[
+ self halt:'to check if this solves the make problem'.
+ ].
].
! !