About MC for managing the image
Colin Putney
cputney at wiresong.ca
Sun Sep 18 22:38:11 UTC 2005
On Sep 18, 2005, at 4:07 PM, Avi Bryant wrote:
> Both of these cases are solved by simply asking MC to load or merge
> the two packages together, rather than asking it to load them
> sequentially. The load strategy it uses is very simple: a
> superclass always needs to be loaded before its subclasses, and a
> class always needs to be loaded before its methods. Additions are
> always done before removals, and removals are done with the inverse
> rules (first remove methods, then classes, then superclasses).
>
> What you don't get to do in that case is specify anything about the
> load order yourself. I think the cases where specifying this is
> necessary are going to be very rare, but certainly they will
> happen. That's what the update stream is useful for: simply put
> two configurations in (one of them, maybe, with only a single
> package) to ensure that loads happen in the correct sequence. This
> should only be needed for delicate migrations, I don't think it
> should ever be needed for every time a group of packages is loaded
> together.
One thing that isn't addressed here is initialization order. If
package A depends on package B, A should be completely initialized
before initialization of B begins. I don't think we do this correctly
at the moment.
Otherwise, I completely agree. We should use sequences of
Configurations in the update stream for those special cases where we
need specific intermediate states. In all other cases, MC's internal
load ordering should be fine.
Colin
More information about the Packages
mailing list