aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssh/src/ssh_acceptor.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_acceptor.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_acceptor.erl')
-rw-r--r--lib/ssh/src/ssh_acceptor.erl19
1 files changed, 8 insertions, 11 deletions
diff --git a/lib/ssh/src/ssh_acceptor.erl b/lib/ssh/src/ssh_acceptor.erl
index d023656c32..91905b2eaf 100644
--- a/lib/ssh/src/ssh_acceptor.erl
+++ b/lib/ssh/src/ssh_acceptor.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
@@ -25,7 +25,6 @@
-export([start_link/5]).
%% spawn export
-%% TODO: system messages
-export([acceptor_init/6, acceptor_loop/6]).
-define(SLEEP_TIME, 200).
@@ -81,17 +80,15 @@ acceptor_loop(Callback, Port, Address, Opts, ListenSocket, AcceptTimeout) ->
ListenSocket, AcceptTimeout)
end.
-handle_connection(Callback, Address, Port, Options, Socket) ->
+handle_connection(_Callback, Address, Port, Options, Socket) ->
SystemSup = ssh_system_sup:system_supervisor(Address, Port),
{ok, SubSysSup} = ssh_system_sup:start_subsystem(SystemSup, Options),
- ConnectionSup = ssh_system_sup:connection_supervisor(SystemSup),
- {ok, Pid} =
- ssh_connection_sup:start_manager_child(ConnectionSup,
- [server, Socket, Options]),
- Callback:controlling_process(Socket, Pid),
- SshOpts = proplists:get_value(ssh_opts, Options),
- Pid ! {start_connection, server, [Address, Port, Socket, SshOpts, SubSysSup]}.
-
+ ConnectionSup = ssh_subsystem_sup:connection_supervisor(SubSysSup),
+ ssh_connection_handler:start_connection(server, Socket,
+ [{supervisors, [{system_sup, SystemSup},
+ {subsystem_sup, SubSysSup},
+ {connection_sup, ConnectionSup}]}
+ | Options], infinity).
handle_error(timeout) ->
ok;