aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssh/src/ssh_system_sup.erl
diff options
context:
space:
mode:
authorIngela Anderton Andin <[email protected]>2013-11-14 10:33:11 +0100
committerIngela Anderton Andin <[email protected]>2013-11-14 10:33:11 +0100
commit19aedb5c0cb956e51b24fbba4923520efe7bf54b (patch)
tree5f38b856389ccfb43c83b7be5e33529b699e6574 /lib/ssh/src/ssh_system_sup.erl
parentc46240c78fbce1b8b026f975d80b397209ac4968 (diff)
parent7efe1b6dd3215261777b5f335b4f92dfca7cea42 (diff)
downloadotp-19aedb5c0cb956e51b24fbba4923520efe7bf54b.tar.gz
otp-19aedb5c0cb956e51b24fbba4923520efe7bf54b.tar.bz2
otp-19aedb5c0cb956e51b24fbba4923520efe7bf54b.zip
Merge branch 'ia/ssh/one-connection-process/OTP-11363' into maint
* ia/ssh/one-connection-process/OTP-11363: ssh: Logging fun and document enhancement ssh: Add CLI test case ssh: Quicker shutdown of an ssh dameon ssh: Add option to disallow CLI ssh: Simplify handling of connection attributes (e.i. user and sockname) ssh: Make inet option configurable and remove ipv6_disabled option ssh: Eliminate test case failure due to timing issues in test case code ssh: Enhance error handling ssh: Merge connection_manager and connection_handler processes ssh: Remove use of process dictionary
Diffstat (limited to 'lib/ssh/src/ssh_system_sup.erl')
-rw-r--r--lib/ssh/src/ssh_system_sup.erl19
1 files changed, 9 insertions, 10 deletions
diff --git a/lib/ssh/src/ssh_system_sup.erl b/lib/ssh/src/ssh_system_sup.erl
index 36daf3b1ac..bf3c12a988 100644
--- a/lib/ssh/src/ssh_system_sup.erl
+++ b/lib/ssh/src/ssh_system_sup.erl
@@ -1,7 +1,7 @@
%%
%% %CopyrightBegin%
%%
-%% Copyright Ericsson AB 2008-2012. All Rights Reserved.
+%% Copyright Ericsson AB 2008-2013. 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
@@ -40,7 +40,7 @@
-export([init/1]).
%%%=========================================================================
-%%% API
+%%% Internal API
%%%=========================================================================
start_link(ServerOpts) ->
Address = proplists:get_value(address, ServerOpts),
@@ -55,13 +55,12 @@ stop_listener(Address, Port) ->
Name = make_name(Address, Port),
stop_acceptor(whereis(Name)).
-stop_system(SysSup) ->
- Name = sshd_sup:system_name(SysSup),
- sshd_sup:stop_child(Name).
-
-stop_system(Address, Port) ->
- sshd_sup:stop_child(Address, Port).
+stop_system(SysSup) when is_pid(SysSup)->
+ exit(SysSup, shutdown).
+stop_system(Address, Port) ->
+ stop_system(system_supervisor(Address, Port)).
+
system_supervisor(Address, Port) ->
Name = make_name(Address, Port),
whereis(Name).
@@ -121,7 +120,7 @@ restart_acceptor(Address, Port) ->
%%%=========================================================================
init([ServerOpts]) ->
RestartStrategy = one_for_one,
- MaxR = 10,
+ MaxR = 0,
MaxT = 3600,
Children = child_specs(ServerOpts),
{ok, {{RestartStrategy, MaxR, MaxT}, Children}}.
@@ -146,7 +145,7 @@ ssh_acceptor_child_spec(ServerOpts) ->
ssh_subsystem_child_spec(ServerOpts) ->
Name = make_ref(),
StartFunc = {ssh_subsystem_sup, start_link, [ServerOpts]},
- Restart = transient,
+ Restart = temporary,
Shutdown = infinity,
Modules = [ssh_subsystem_sup],
Type = supervisor,