[DGD] Another mudlib requirement

Steve Foley zeppo1 at mindspring.com
Sat Feb 14 06:19:53 CET 2004


"Felix A. Croes" <felix at dworkin.nl> wrote:

> The latter will probably modify the object, and if it commits before
> any of the callout-adding threads, they will be cancelled because
> they accessed a version of the object's state which is now out of
> date.

How much discrimination will DGD be able to make in this regard?  I can imagine
reading one member of an array (arr[0]) in one thread (thread A) while another
thread (thread B) modifies a different array member (arr[5]).  If thread B
commits before thread A, will thread A be rescheduled as a consequence of thread
B?  Assume thread A doesn't assign arr to a local or global, and doesn't pass it
as a parameter in a function call.

Could you expound upon how data gets flagged and what sorts of conditions
trigger a reschedule?  I realize I'm asking a short question with a long and
complicated (well, to me anyway) answer, so maybe you could just point out a few
'gotchas' we need to be aware of?

I really hadn't come to grips with the crucial roll call_out will be playing
under DGD MP (though, it certainly does seem deceptively obvious in retrospect
since call_out is the only way to break up 1 thread into multiple shorter
threads), so now I'm pretty interested in the kinds of things I need to be on
the lookout for when designing a DGD MP ready lib.  Thanks in advance.

_________________________________________________________________
List config page:  http://list.imaginary.com/mailman/listinfo/dgd



More information about the DGD mailing list