Hi all,<br><br>I'm trying around with Croquet since a short while and stumbled over a bug in TPromise, but after a first fix there I also found that I could lock up my squeak (3.8.18beta1U on os x 10.5) as simply as this:
<br><br>|s b c|<br>s := Semaphore new.<br>b := false.<br>[b := true. "forgotten/crashed therefore no: s signal." ] fork.<br>Delay timeoutSemaphore: s afterMSecs: 1.<br>s wait.<br>c := b.<br>Transcript show: c; cr.
<br><br>This shows the use case. Shorter even:<br>|s|<br>
s := Semaphore new.<br>
Delay timeoutSemaphore: s afterMSecs: 1.<br>
s wait.<br>Transcript show: 'doesnt get here - not printed'; cr.<br>
<br>I hope I'm doing something wrong here! <br><br>I pasted the fixes from 6576 and 6588 to no avail.<br><br>I have this fix for my use-case: Avoid Delay>>timeoutSempaphore:afterMSecs:<br>|s|<br>
s := Semaphore new.<br>[(Delay forSeconds:1) wait. s signal.] fork.<br>
s wait.<br>
Transcript show: 'Now gets here - line will be printed'; cr.<br><br>Resource intense, I know. I would love to use your Delay mechanism!<br>Cheers,<br>Georg<br>