From 72e411aee9a991a0ea8aa65f78312e52b33d1ad7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonatan=20P=C3=A5lsson?= Date: Tue, 1 Feb 2011 15:04:15 +0100 Subject: [PATCH] Added _working_ supervisor behaviour --- src/ggs_sup.erl | 23 ++++++++++++++++------- start | 2 +- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/ggs_sup.erl b/src/ggs_sup.erl index 0c86250..ddb3abe 100644 --- a/src/ggs_sup.erl +++ b/src/ggs_sup.erl @@ -2,19 +2,28 @@ -behaviour(supervisor). %% API --export([start_link/0]). +-export([start_link/1]). %% Supervisor callbacks -export([init/1]). -define(SERVER, ?MODULE). -start_link() -> - supervisor:start_link({local, ?SERVER}, ?MODULE, []). +start_link(Port) -> + supervisor:start_link({local, ?SERVER}, ?MODULE, [Port]). -init([]) -> - Server = {ggs_server, {ggs_server, start_link, []}, - permanent, 2000, worker, [ggs_server]}, +init([Port]) -> + Server = {ggs_server, + {ggs_server, start_link, [Port]}, + permanent, + 2000, + worker, + [ggs_server] + }, Children = [Server], - RestartStrategy = {one_for_one, 0, 1}, + + RestartStrategy = { one_for_one, % Restart only crashing child + 10, % Allow ten crashes per.. + 1 % 1 second, then crash supervisor. + }, {ok, {RestartStrategy, Children}}. diff --git a/start b/start index 48d7252..41284d5 100755 --- a/start +++ b/start @@ -1,3 +1,3 @@ #!/usr/bin/env bash -erl -boot start_sasl -pa erlang_js/ebin/ -pa erlv8/ebin -pa ebin -pa src -eval "ggs_server:start_link($1)." +erl -boot start_sasl -pa erlang_js/ebin/ -pa erlv8/ebin -pa ebin -pa src -eval "ggs_sup:start_link($1)."