dijxtra
dijxtra

Reputation: 2751

simple_one_for_one start_child() returns already_started

I have a supervisor which should start simple_one_for_one workers. When I call start_child() for the first time, everything goes excellent. But, when I do it the second time, I get {error,{already_started,<0.71.0>}}. Why would simple_one_for_one supervisor return me a already_started? What am I missing?

Here is the code: supervisor, worker.

Upvotes: 12

Views: 2118

Answers (1)

butter71
butter71

Reputation: 2723

you are registering a (local) name for your gen_server. once you start one, you can not start another one with the same name.

if you use gen_server:start_link/3 instead, removing the first argument from your current gen_server:start_link/4 call, you should be able to start up more than one.

Upvotes: 22

Related Questions