[Seaside] Long running delays (was Re: [ShoreComponents] WebTree, SVG demo and dynamic files)

radoslav hodnicak rh at 4096.sk
Tue Jul 12 13:47:32 CEST 2005


On Tue, 12 Jul 2005, radoslav hodnicak wrote:
>
> I remember having problem in visualworks with long running delays (note to 
> Dave - delays that run repeatedly for a long time, not delays that wait a 
> long time) which was related to a race condition in Semaphore>>critical: 
> implementation. As far as I know the problem is still there (as of VW 7.3.1). 
> Are you using VW? If yes look at this thread
> http://groups-beta.google.com/group/comp.lang.smalltalk/browse_thread/thread/d8e5d140b85af9c0/0dfc652ef3bc161b

Btw the test from that thread fails in Squeak too. If you change 
Semaphore>>critical: like this

critical: mutuallyExcludedBlock

     | blockValue |
     [self wait] ifCurtailed: [self signal].
     [blockValue := mutuallyExcludedBlock value]
         ensure: [self signal].
     ^blockValue

then it passes. I'm not sure if this is a proper fix though.

rado


More information about the Seaside mailing list