#BUGFIX by cg
authorClaus Gittinger <cg@exept.de>
Mon, 09 Jan 2017 18:47:08 +0100
changeset 21223 bebca95ca864
parent 21222 e1ad709bbf42
child 21224 9bbb95a21764
child 21251 32f12bea6608
#BUGFIX by cg class: OSProcess comment/format in: #execute changed: #setupShufflerForOutput: #startProcess do not terminate shufflers before finished shuffling; register output shufflers.
OSProcess.st
--- a/OSProcess.st	Mon Jan 09 18:46:34 2017 +0100
+++ b/OSProcess.st	Mon Jan 09 18:47:08 2017 +0100
@@ -1,5 +1,3 @@
-"{ Encoding: utf8 }"
-
 "{ Package: 'stx:libbasic' }"
 
 "{ NameSpace: Smalltalk }"
@@ -404,6 +402,7 @@
 "/                beSystemProcess;
             resume.
 
+    shufflerProcesses add:shufflerProcess.
     streamsToClose add:externalStream.
 
     ^ externalStream
@@ -490,6 +489,8 @@
                         inDirectory:directory
                         newPgrp:newPgrp
                         showWindow:showWindow.
+
+            pid
         ] 
         action:[:status |
             status stillAlive ifFalse:[
@@ -497,13 +498,13 @@
                 pid notNil ifTrue:[
                     OperatingSystem closePid:pid.
                 ].
-                shufflerProcesses do:[:eachProcess|
-                    "terminate the shuffler processes.
-                     They close the local side of the pipe when being terminated"
-                    eachProcess terminate.
-                ].
+"/                shufflerProcesses do:[:eachProcess|
+"/                    "terminate the shuffler processes.
+"/                     They close the local side of the pipe when being terminated"
+"/                    eachProcess terminate.
+"/                ].
+                finishSema signal.
                 terminateActionBlock value.
-                finishSema signal.
             ].
         ].