application startup

Ulf Wiger ulf@REDACTED
Fri Aug 12 23:59:35 CEST 2005


All applications in the .rel file are started
automatically if they
- have a 'mod' attribute
- are not included in another application

The 'builder' contrib builds two start scripts:
one where all applications are started as expected,
and one where only kernel and stdlib are started,
but all applications are loaded, and the code path
set to include all code. The latter script is useful
if you e.g. want to initialize mnesia and other stuff,
and the way it's generated is by simply modifying the
start script after it's been built.

/Uffe


Den 2005-08-12 23:21:30 skrev Serge Aleynikov <serge@REDACTED>:

> Folks,
>
> I have the following config, and I noticed that os_mon and mnesia  
> applications get started at startup when I use a boot script:
>
>  >erlc -pa ../ebin -o ../ebin drpdb.rel
>  >cd ../ebin
>  >erl -boot drpdb -sname drpdb -config ../priv/drpdb
>
> I was under impression that if an application is listed in the *.rel  
> file, it should be loaded but not started.  In order for it to be  
> started it must be included in the {applications, ...} tuple of the  
> *.app file.  However, what I am observing is that all apps that are  
> listed in the *.rel file are started automatically.  Am I doing  
> something wrong?
>
> ====== drpdb.rel ========
> {release, {"drpdb","1.0"}, {erts, "5.4.8"},
>   [{kernel,"2.10.9"},
>    {stdlib,"1.13.8"},
>    {sasl, "2.0.1"},
>    {drpdb, "1.0"},
>    {os_mon, "1.7.4"},
>    {mnesia, "4.2.2"}
>   ]}.
>
>
> ====== drpdb.app ========
> {application, drpdb,
>   [
>    {description, "Master Database Server"},
>    {vsn, "1.0"},
>    {id, "drpdb"},
>    {modules,
>     [
>        drpdb_app,
>        drpdb_sup,
>        drpdb
>      ]
>     },
>     {registered, [ drpdb_sup, drpdb ] },
>     {applications, [ kernel, sasl ] },
>     {mod, {drpdb_app, []}},
>     {env, []}
>    ]
> }.
>



-- 
Ulf Wiger



More information about the erlang-questions mailing list