Sept. 18, 2014
8:52 p.m.
Why not use #waitTimeoutMsecs:? Something like: greenLight := Semaphore new. process := [started := true. [Semaphore new wait] ensure: [terminator := Processor activeProcess. unwound := true]. greenLight signal] forkAt: Processor activeProcess priority -1. expired := greenLight waitTimeoutMSecs: 1000. "or whatever suits you" deny: expired. assert: process isTerminated. " and so on" -- Bob