[DGD] Upgrade management

bart at wotf.org bart at wotf.org
Fri Mar 21 16:01:26 CET 2014


On Fri, 21 Mar 2014 11:44:59 +0100, bart wrote

<snip>
> Preventing all redundant calls means knowing beforehand what work 
> they'll be doing. I don't think this will work, and it also means 
> you'll be centralizing knowledge about internal data in objects in a 
> place outside those objects. I don't like this approach, but 
> technically it could work for all I can tell.

Reading back, this isn't very clear. What I intended to say is this:

While compiling, you cannot know yet what to touch, as your newly compiled
code will only become active when the execution round has finished, so your
code changes won't be visible yet.

This means you need to ensure everything stays blocked, and in a next
execution round you need to determine what should be touched (and you need to
ensure there is something that can still trigger the next execution round
despite everything being blocked). 

One thing to keep in mind, until such time that you determined what should be
touched, and have marked all involved objects, you need to block any other
activity (call_outs, I/O) to ensure objects won't get called before they have
been marked.

Bart.
--
http://www.flickr.com/photos/mrobjective/
http://www.om-d.org/




More information about the DGD mailing list