>>>>> "JH" == Jarkko Hietaniemi <[EMAIL PROTECTED]> writes:

>> Now, "all" that needs to be taken care of, is make sure that the final
>> assignment from the localized and changed variables to their
>> outer-scoped counterparts happens in *one step*, i.e. no task switching
>> while this is going on.

JH> Well, that can't be done.  (I assume that by 'task switching' you mean
JH> here 'thread switching') Or, if it can, it *shouldn't* be done.
JH> Threads run on their own until they yield, they decide to synchronize
JH> and/or join, or they exit.  Note the "they decide".

I think what he _really_ should have said, is a lock is taken on all
relevant structures and an update is performed.

This gets into deadlocking issues, extra locks to hold the variables until
the commit. Or perhaps we get into versioning of variables and then we
buy problems of how to do rollbacks and retryies.

I don't think we can do this immediately. Can you come up with the right
API and/or hooks that are needed so that it might be retrofited?

<chaim>
-- 
Chaim Frenkel                                        Nonlinear Knowledge, Inc.
[EMAIL PROTECTED]                                               +1-718-236-0183

Reply via email to