Simple lock up with delay + semaphore - not fixed with 0006576
Alexander at Lazarevic.de
Sat Jan 5 12:47:42 UTC 2008
Andreas Raab schrieb:
> Georg Köster wrote:
>> This shows the use case. Shorter even:
>> s := Semaphore new.
>> Delay timeoutSemaphore: s afterMSecs: 1.
>> s wait.
>> Transcript show: 'doesnt get here - not printed'; cr.
>> I hope I'm doing something wrong here!
> You must be. This works fine in a Croquet SDK image.
Unfortunately it seems that a ChangeSet of mine addressing 
introduced this bug. I guess it got included in 3.9 without anyone else
looking at it. As I mention in  the Delay class side method should read:
timeoutSemaphore: aSemaphore afterMSecs: anInteger
^ (self new setDelay: anInteger forSemaphore: aSemaphore) schedule
I guess trying to refactor too much made me change the method. I'm sorry
that I did not double check it more carefully in the first place.
More information about the Squeak-dev