[DGD] Object upgrading

Raymond Jennings shentino at gmail.com
Wed Jul 4 09:07:31 CEST 2018


On Tue, Jul 3, 2018 at 11:34 PM <bart at wotf.org> wrote:
>
> On Tue, 3 Jul 2018 17:44:40 -0700, Raymond Jennings wrote
>
> <snip>
>
> > > Second question, why suspend the system here, and not at the beginning of this
> > > entire process?
> >
> > The suspend is merely intended to protect the upgrade() call from
> > being preempted by regular activity.
>
> I understand WHY you suspend the system, that was not the question, the
> question was why do that just before starting the *DATA* upgrade part, and not
> before starting the compile.

I figure I should do the compile first to a) make sure the compile
actually succeeds, and b) I need the information from the klib
regarding inheritance so that I can do a dependency tree scan to
actually FIND all the patchers.

Each program has an associated patcher that is noted from its initd
when it is compiled.  Later, when an object inheriting it is itself
compiled, we now that the inheritable in question has declared a
function to be called for patching the inheritable's data.

To be blunt, with the way my system is set up, until the compilation
finishes I won't have the information I need to do the upgrade, since
it would depend on what exactly the object in question chooses to
inherit.

> Unless you immediately follow with the upgrade after compile (in which case
> you will still have outdated code being active), you very likely want to have
> a call_out inbetween, and that also needs to be protected from other activity,
> hence my question: why not protect the entire process, so compile + everything
> related to upgrade until you can safely have other activities run again?
>
> Bart.
> --
> https://www.bartsplace.net/
> https://wotf.org/
> https://www.flickr.com/photos/mrobjective/
>
> ____________________________________________
> https://mail.dworkin.nl/mailman/listinfo/dgd



More information about the DGD mailing list