diff options
author | Ingela Anderton Andin <[email protected]> | 2013-12-17 09:14:56 +0100 |
---|---|---|
committer | Ingela Anderton Andin <[email protected]> | 2014-01-10 16:01:27 +0100 |
commit | d9674f32811cd5bb02b0d6656053b5ee226bc74c (patch) | |
tree | 32d92a3b09a8bd3f2d793cce830bd43ac4b3b421 /lib/inets/src/http_server/httpd_connection_sup.erl | |
parent | faafa93775d3c56cb6f59b9096e959cac6a59e25 (diff) | |
download | otp-d9674f32811cd5bb02b0d6656053b5ee226bc74c.tar.gz otp-d9674f32811cd5bb02b0d6656053b5ee226bc74c.tar.bz2 otp-d9674f32811cd5bb02b0d6656053b5ee226bc74c.zip |
inets: Mend broken max_clients check
Conflicts:
lib/inets/src/http_server/httpd_manager.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 | 68 |
1 files changed, 68 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..48c2d8f076 --- /dev/null +++ b/lib/inets/src/http_server/httpd_connection_sup.erl @@ -0,0 +1,68 @@ +%% +%% %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]}}. + + + |