[DGD] preserving vars after lib recompile

Petter Nyström jimorie at gmail.com
Wed Sep 17 20:42:26 CEST 2008


On Wed, Sep 17, 2008 at 8:01 PM,  <bart at wotf.org> wrote:

> But indeed, destructing the 'in between' libraries yourself is not needed, the
> driver will call the driver object for those, which will do the actual
> destruction. In other words, you only have to worry about the end nodes of the
> graph (the library you changed on one end, all the objects that (in)directly
> inherit it on the other end)

This was news to me.

Just to get you straight here, if we have three objects: A, B and C. A
inherits B, and B inherits C. I change the code of C. Then I only need
to destruct C and recompile A to get the updated functionality of C in
both A and B? I don't have to touch B? (Other than using it to track
down A as an ancestor of C.) Is this right?

> One alternative to the 'traditional' objectd based upgrade methods that I am
> investigating makes use of this as follows:
>
> When an object inherits a library, this is registered on the 'master' for that
> library.
>
> Just before the library gets destructed, the list of objects depending on it
> is posted to a daemon that maintains an upgrade queue. This daemon can then be
> called to do the recompiling of all the depending objects.
>
> This basicly eliminates the need for an object daemon and for keeping track of
> all different issues of a lib that might exist, for as far as upgrading is
> concerned. Of course you may still want to use an object daemon for other
> reasons, but if you can do without, it will save one object with a potentially
> huge dataset (which tends to be a bit of a pain for swapping)

That's an interesting idea.

 =)

Regards,

Petter



More information about the DGD mailing list