Here's my plan. The Mac and Linux people are probably going to proceed
just by using ifdefs to get the startup sequence up and running, but
in the process learn more about what goes on where. We can first split
into separate phase functions for readability, and then after that
figure out if any further steps are needed.

-Ben

On Thu, Jan 15, 2009 at 2:06 PM, Erik Kay <[email protected]> wrote:
>
> On Thu, Jan 15, 2009 at 1:37 PM, Brett Wilson <[email protected]> wrote:
>>
>> On Thu, Jan 15, 2009 at 1:19 PM, Amanda Walker <[email protected]> wrote:
>>>
>>> That's true.  In the example I gave (Mac driver loading), each module
>>> has a property list that lists its dependencies (and version
>>> requirements, etc.).  That's not quite as simple to do inside a single
>>> application, of course, but having code do the ordering still seems
>>> like a win to me.
>>>
>>> Consider startup as a sequence of, say:
>>>
>>> Initializer foo("foo");
>>> foo.DependsOn("bar");
>>> foo.DependsOn("zot");
>>>
>>> Initializer alice("alice");
>>> alice.DependsOn("bob");
>>> alice.DependsOn("eve");
>>> [...]
>>> Initializer::LaunchAll();
>>>
>>> (or, more generally, "Initializer:::Launch("chromium");" where
>>> "chromium" is a top level module, so that the general framework could
>>> be used for things besides app launch)
>>
>> I have a hard time thinking about this with your abstract example. I
>> also have a hard time believing we have so many interdependencies that
>> it requires writing a makefile to start the program, and that such a
>> syntax is easier to read than just listing out in comments why things
>> are done in this order.
>
> The issue is one of maintenance.  A lot happens at startup.  As people
> make changes, it's not necessarily obvious where to insert your
> initialization code.  Depending on your dependencies, your new service
> may require a complex re-ordering of initialization.  If we actually
> explicitly express dependencies and automatically manage them, then we
> can be precise about it.
>
> Maybe we'd have to see an example to know for sure, but it feels like
> it would be easier to read startup dependencies if they were expressed
> explicitly as opposed to comments which don't need to be complete and
> can drift from reality.
>
> Erik
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
Chromium Developers mailing list: [email protected] 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to