[erlang-questions] supervising applications

Moe Aboulkheir <>
Wed Sep 20 01:57:42 CEST 2006


I'm very new to this.  I've written a trivial Erlang application, and i am trying to write a second one which provides a superset of the functionality of the first.  The supervisor that is started from start/2 in the second application tries to start the first application by including an entry for it in the list returned from init/1.  I tried the following two methods, but neither works:

1) Having StartFunc (in the init/1 term) as {application, start, [app1]}.  This doesn't work because application:start/1 returns ok instead of {ok, Pid} like the supervisor interface wants.  Ideally i'd have liked to be able to this, because app1:start/2 passes some stuff from its environment as the argument to app1_supervisor:start_link/1, but i guess i could move that stuff further into app1, though i saw an example that did the setup here, and it makes sense to me

2) Having StartFunc as {app1_supervisor, start_link, ...}.  This doesn't work because some code inside app1 depends on things in the environment of app1's .app file - things that don't seem to be available when i start it like this.  Again, i could move these variables into app2's environment, but i'd like to be able to use app1 without using app2, and would rather not maintain the information in two places.

Any ideas?

Moe Aboulkheir

More information about the erlang-questions mailing list