aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssh/src/ssh_system_sup.erl
diff options
context:
space:
mode:
authorIngela Anderton Andin <[email protected]>2013-11-27 08:18:12 +0100
committerIngela Anderton Andin <[email protected]>2013-11-27 08:18:12 +0100
commitfb8b76bff0a43ae5bf3982a9b70e2bcfbc8ceedb (patch)
tree5078fce506a5c63129ddcd08faca848ef04863e9 /lib/ssh/src/ssh_system_sup.erl
parent0f13b20298fd6f63a08d6fa1d1159a91d79fa1f6 (diff)
parent22e2b396e2fabe27c5a74843495c3eaf6900e211 (diff)
downloadotp-fb8b76bff0a43ae5bf3982a9b70e2bcfbc8ceedb.tar.gz
otp-fb8b76bff0a43ae5bf3982a9b70e2bcfbc8ceedb.tar.bz2
otp-fb8b76bff0a43ae5bf3982a9b70e2bcfbc8ceedb.zip
Merge branch 'maint'
Diffstat (limited to 'lib/ssh/src/ssh_system_sup.erl')
-rw-r--r--lib/ssh/src/ssh_system_sup.erl15
1 files changed, 9 insertions, 6 deletions
diff --git a/lib/ssh/src/ssh_system_sup.erl b/lib/ssh/src/ssh_system_sup.erl
index bf3c12a988..848133f838 100644
--- a/lib/ssh/src/ssh_system_sup.erl
+++ b/lib/ssh/src/ssh_system_sup.erl
@@ -54,13 +54,16 @@ stop_listener(SysSup) ->
stop_listener(Address, Port) ->
Name = make_name(Address, Port),
stop_acceptor(whereis(Name)).
-
-stop_system(SysSup) when is_pid(SysSup)->
- exit(SysSup, shutdown).
+
+stop_system(SysSup) ->
+ Name = sshd_sup:system_name(SysSup),
+ spawn(fun() -> sshd_sup:stop_child(Name) end),
+ ok.
stop_system(Address, Port) ->
- stop_system(system_supervisor(Address, Port)).
-
+ spawn(fun() -> sshd_sup:stop_child(Address, Port) end),
+ ok.
+
system_supervisor(Address, Port) ->
Name = make_name(Address, Port),
whereis(Name).
@@ -136,7 +139,7 @@ ssh_acceptor_child_spec(ServerOpts) ->
Port = proplists:get_value(port, ServerOpts),
Name = id(ssh_acceptor_sup, Address, Port),
StartFunc = {ssh_acceptor_sup, start_link, [ServerOpts]},
- Restart = permanent,
+ Restart = transient,
Shutdown = infinity,
Modules = [ssh_acceptor_sup],
Type = supervisor,