--- a/ProcessorScheduler.st Wed Feb 01 22:03:10 2017 +0000
+++ b/ProcessorScheduler.st Mon Feb 20 23:12:06 2017 +0000
@@ -1209,7 +1209,7 @@
status of the OS process changes (e.g. the process terminates).
The method returns the value from aBlockReturningPid (i.e. a pid or nil)."
- |pid wasBlocked exitStatus|
+ |pid wasBlocked|
"/ aBlock will be evaluated:
"/ on unix: as soon as a SIGCHLD interrupt for pid has been received.
@@ -1220,14 +1220,7 @@
"/ start the OS-Process
pid := aBlockReturningPid value.
pid notNil ifTrue:[
- osChildExitActions at:pid put:actionBlock.
- ].
- "check for a race, that SIGCHILD was received before we could register the actionBlock"
- exitStatus := OperatingSystem childProcessWait:false pid:pid.
- exitStatus notNil ifTrue:[
- self unmonitorPid:pid.
- wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
- actionBlock value:exitStatus.
+ osChildExitActions at:pid put:actionBlock.
].
wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
^ pid