aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Gravell <[email protected]>2011-10-28 16:31:29 +0100
committerSteven Gravell <[email protected]>2011-10-28 16:44:46 +0100
commit1af77d45e3452130742bde5be1c5271bfd80cfbf (patch)
treefd81bf79c0eff2fd31f7c2d30ee20ab8f185dcc6
parent4cd825923f6045500841715413b46efc2ca26d82 (diff)
downloadcowboy-1af77d45e3452130742bde5be1c5271bfd80cfbf.tar.gz
cowboy-1af77d45e3452130742bde5be1c5271bfd80cfbf.tar.bz2
cowboy-1af77d45e3452130742bde5be1c5271bfd80cfbf.zip
fix supervisor spec for non dynamic modules
a release upgrade on a vm running cowboy where any other appup includes an {update, Mod, {advanced, Extra}} instruction will hang forever due to these child specs being wrong. The gen_servers should be [Mod] and the non gen_server needs to be [] since there is no callback to handle this.
-rw-r--r--src/cowboy_acceptors_sup.erl2
-rw-r--r--src/cowboy_listener_sup.erl2
-rw-r--r--src/cowboy_sup.erl2
3 files changed, 3 insertions, 3 deletions
diff --git a/src/cowboy_acceptors_sup.erl b/src/cowboy_acceptors_sup.erl
index 3d57610..17849a6 100644
--- a/src/cowboy_acceptors_sup.erl
+++ b/src/cowboy_acceptors_sup.erl
@@ -38,6 +38,6 @@ init([NbAcceptors, Transport, TransOpts,
Procs = [{{acceptor, self(), N}, {cowboy_acceptor, start_link, [
LSocket, Transport, Protocol, ProtoOpts,
MaxConns, ListenerPid, ReqsPid
- ]}, permanent, brutal_kill, worker, dynamic}
+ ]}, permanent, brutal_kill, worker, []}
|| N <- lists:seq(1, NbAcceptors)],
{ok, {{one_for_one, 10, 10}, Procs}}.
diff --git a/src/cowboy_listener_sup.erl b/src/cowboy_listener_sup.erl
index adf5262..aca2b0b 100644
--- a/src/cowboy_listener_sup.erl
+++ b/src/cowboy_listener_sup.erl
@@ -27,7 +27,7 @@ start_link(NbAcceptors, Transport, TransOpts, Protocol, ProtoOpts) ->
{ok, SupPid} = supervisor:start_link(?MODULE, []),
{ok, ListenerPid} = supervisor:start_child(SupPid,
{cowboy_listener, {cowboy_listener, start_link, []},
- permanent, 5000, worker, dynamic}),
+ permanent, 5000, worker, [cowboy_listener]}),
{ok, ReqsPid} = supervisor:start_child(SupPid,
{cowboy_requests_sup, {cowboy_requests_sup, start_link, []},
permanent, 5000, supervisor, [cowboy_requests_sup]}),
diff --git a/src/cowboy_sup.erl b/src/cowboy_sup.erl
index 9c52486..34591bc 100644
--- a/src/cowboy_sup.erl
+++ b/src/cowboy_sup.erl
@@ -32,5 +32,5 @@ start_link() ->
-spec init([]) -> {ok, {{one_for_one, 10, 10}, [{_, _, _, _, _, _}, ...]}}.
init([]) ->
Procs = [{cowboy_clock, {cowboy_clock, start_link, []},
- permanent, 5000, worker, dynamic}],
+ permanent, 5000, worker, [cowboy_clock]}],
{ok, {{one_for_one, 10, 10}, Procs}}.