diff options
author | Ingela Anderton Andin <[email protected]> | 2013-12-17 09:14:56 +0100 |
---|---|---|
committer | Ingela Anderton Andin <[email protected]> | 2014-02-05 10:32:28 +0100 |
commit | e848019d1308e4dc20249ef7368ba1bdc01a0d9b (patch) | |
tree | f06e21fa5ed0a5767904b0e8cb6227ec77bec74f /lib/inets/src/http_server/httpd_connection_sup.erl | |
parent | 5b40274acb3355d23e65ef59def92e92f89c72e2 (diff) | |
download | otp-e848019d1308e4dc20249ef7368ba1bdc01a0d9b.tar.gz otp-e848019d1308e4dc20249ef7368ba1bdc01a0d9b.tar.bz2 otp-e848019d1308e4dc20249ef7368ba1bdc01a0d9b.zip |
inets: Mend broken max_clients check
Conflicts:
lib/inets/src/http_server/httpd_manager.erl
Conflicts:
lib/inets/test/inets_sup_SUITE.erl
Diffstat (limited to 'lib/inets/src/http_server/httpd_connection_sup.erl')
-rw-r--r-- | lib/inets/src/http_server/httpd_connection_sup.erl | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/lib/inets/src/http_server/httpd_connection_sup.erl b/lib/inets/src/http_server/httpd_connection_sup.erl new file mode 100644 index 0000000000..eac5e1b550 --- /dev/null +++ b/lib/inets/src/http_server/httpd_connection_sup.erl @@ -0,0 +1,65 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2008-2014. All Rights Reserved. +%% +%% The contents of this file are subject to the Erlang Public License, +%% Version 1.1, (the "License"); you may not use this file except in +%% compliance with the License. You should have received a copy of the +%% Erlang Public License along with this software. If not, it can be +%% retrieved online at http://www.erlang.org/. +%% +%% Software distributed under the License is distributed on an "AS IS" +%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +%% the License for the specific language governing rights and limitations +%% under the License. +%% +%% %CopyrightEnd% +%% +%% +%%---------------------------------------------------------------------- +%% Purpose: Ssh connection supervisor. +%%---------------------------------------------------------------------- + +-module(httpd_connection_sup). + +-behaviour(supervisor). + +%% API +-export([start_link/1]). +-export([start_child/2, connection_sup/2]). + +%% Supervisor callback +-export([init/1]). + +%%%========================================================================= +%%% API +%%%========================================================================= +start_link(Args) -> + supervisor:start_link(?MODULE, [Args]). + +start_child(Sup, Args) -> + supervisor:start_child(Sup, Args). + +connection_sup(Addr, Port) -> + httpd_util:make_name("httpd_connection_sup", Addr, Port). + +%%%========================================================================= +%%% Supervisor callback +%%%========================================================================= +init([[Addr, Port]]) -> + RegName = connection_sup(Addr, Port), + register(RegName, self()), + RestartStrategy = simple_one_for_one, + MaxR = 0, + MaxT = 3600, + + Name = undefined, % As simple_one_for_one is used. + StartFunc = {httpd_request_handler, start_link, []}, + Restart = temporary, % E.g. should not be restarted + Shutdown = 4000, + Modules = [httpd_request_handler], + Type = worker, + + ChildSpec = {Name, StartFunc, Restart, Shutdown, Type, Modules}, + {ok, {{RestartStrategy, MaxR, MaxT}, [ChildSpec]}}. |