Usually I let the application get the config variables, and start the gen_server with the good params. So that only application manage its config (through a dedicated module, such that it is easy to move the config from env to DB or other file ... I did need to parse a ini file once :( ).
<br>Something in the line of:<br><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">myapp.erl:<br>start() -></span><span style="font-family: courier new,monospace;"></span>
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  ThingCfg = config:server_of_things(),</span><br>  thingserver:start_link(ThingCfg).
<br><br>config.erl:<br>server_of_things() -><br>  {ok, Cfg} = application:get_value(things_key),<br>  Cfg.<br><br>thingserver.erl:<br>start_link(Args) -></span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
    gen_server:start_link({local,</span>?MODULE},?MODULE,Args,[]).<br><span style="font-family: courier new,monospace;">  </span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;">
<br><div><span class="gmail_quote">On 11/28/07, <b class="gmail_sendername">Ulf Wiger (TN/EAB)</b> <<a href="mailto:ulf.wiger@ericsson.com">ulf.wiger@ericsson.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Tom Whitcomb skrev:<br>> Hi,<br>><br>> I want to use application:get_env in my gen_server but it feels wrong<br>> to create a dependency between my gen_server and a specific application.<br>><br>> Is there a recommended way for a gen_server to receive and reference
<br>> the application that contains it?<br><br>application:get_application() -> {ok, AppName} | undefined<br><br>   will return the name of the application which contains<br>   the current process.<br><br>application:get_env(Par) -> {ok, Val} | undefined
<br><br>   will get the environment variable Par from the current<br>   application. get_env(AppName, Par) will get it from the<br>   specified application.<br><br><br>BR,<br>Ulf W<br>_______________________________________________
<br>erlang-questions mailing list<br><a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br><a href="http://www.erlang.org/mailman/listinfo/erlang-questions">http://www.erlang.org/mailman/listinfo/erlang-questions
</a><br></blockquote></div><br>