488 auxFrom:externalAuxStream |
487 auxFrom:externalAuxStream |
489 environment:environment |
488 environment:environment |
490 inDirectory:directory |
489 inDirectory:directory |
491 newPgrp:newPgrp |
490 newPgrp:newPgrp |
492 showWindow:showWindow. |
491 showWindow:showWindow. |
|
492 |
|
493 pid |
493 ] |
494 ] |
494 action:[:status | |
495 action:[:status | |
495 status stillAlive ifFalse:[ |
496 status stillAlive ifFalse:[ |
496 exitStatus := status. |
497 exitStatus := status. |
497 pid notNil ifTrue:[ |
498 pid notNil ifTrue:[ |
498 OperatingSystem closePid:pid. |
499 OperatingSystem closePid:pid. |
499 ]. |
500 ]. |
500 shufflerProcesses do:[:eachProcess| |
501 "/ shufflerProcesses do:[:eachProcess| |
501 "terminate the shuffler processes. |
502 "/ "terminate the shuffler processes. |
502 They close the local side of the pipe when being terminated" |
503 "/ They close the local side of the pipe when being terminated" |
503 eachProcess terminate. |
504 "/ eachProcess terminate. |
504 ]. |
505 "/ ]. |
|
506 finishSema signal. |
505 terminateActionBlock value. |
507 terminateActionBlock value. |
506 finishSema signal. |
|
507 ]. |
508 ]. |
508 ]. |
509 ]. |
509 |
510 |
510 "we can close the remote side of the pipes after the os process has been started (after the fork)" |
511 "we can close the remote side of the pipes after the os process has been started (after the fork)" |
511 streamsToClose do:[:eachStream | eachStream close]. |
512 streamsToClose do:[:eachStream | eachStream close]. |