[erlang-questions] start_child() on simple_one_for_one supervisor -> {error, {already_started, ...}} ???
Dominic Williams
erlang@REDACTED
Sun Dec 14 12:25:14 CET 2008
Hi mighty,
mighty a écrit :
> I have a basic simple_one_for_one supervisor that I cannot start
> multiple children from -- the first call to start_child() works, the
> second call to start_child() returns
> {error,{already_started,<0.38.0>}}. My supervisor is
> simple_one_for_one, so I'd expect to hit the ?is_simple() handling of
> start_child in supervisor.erl, which should go through
> supervisor:do_start_child_i() without any fuss, and definitely not
> return {error, {already_started, ...}} out of
> supervisor:handle_start_child().
> [snipped...]
The problem is that you use the same name to register each
gen_server.
Doing this in your my_node.erl works:
start_link(Instance) ->
% ...
Instance_s = integer_to_list(Instance),
Name_s = ?MODULE_STRING ++ Instance_s,
Name = list_to_atom (Name_s),
gen_server:start_link({local, Name}, ?MODULE, [], []).
Regards,
Dominic Williams
http://dominicwilliams.net
More information about the erlang-questions
mailing list