[Seaside] Re: Render loop... not looping

Julian Fitzell julian at beta4.com
Tue Nov 8 20:57:08 CET 2005


Esteban A. Maringolo wrote:
> 2005/11/8, Julian Fitzell <julian at beta4.com>:
> 
>>Esteban A. Maringolo wrote:
>>
>>>Julian Fitzell escribió:
> 
> 
>>>And what is the purpose of the critical:ifError: method?
>>>Why it uses a mutex and forks the evaluation of the block?
>>
>>It's designed to ensure that only one request is evaluating within a
>>session at a time.  This is desirable because otherwise everything would
>>need to be written to support concurrency.  In fact, given that we are
>>reverting object instvars back and forth to handle continuations this is
>>pretty important even at the system level.  As it stands, that semaphore
>>ensures you only need to worry about concurrent access of resources that
>>are accessed by more than one session (db, etc).
> 
> 
> Thanks. I've imagined it to be that. What I didn't see is the side
> effect of not having to deal with concurrency everywhere.
> 
> By now I'm using it without mutex nor semaphore until I find a
> solution to make it work on Dolphin.
> 
> Any clues about why it doesn't render again?

Erm, not totally obvious to me...  though it sounds like it could be a 
problem with the state being rolled back and since that is probably 
affected by the semaphore, perhaps there is some interaction going on 
there.  I'd look into it more for you but I'm trying to get ready to go 
to india tomorrow morning so I'm a bit swamped.  I'm sure someone else 
can give you another pointer...

Julian


More information about the Seaside mailing list