diff options
author | Ingela Anderton Andin <[email protected]> | 2013-11-14 10:33:11 +0100 |
---|---|---|
committer | Ingela Anderton Andin <[email protected]> | 2013-11-14 10:33:11 +0100 |
commit | 19aedb5c0cb956e51b24fbba4923520efe7bf54b (patch) | |
tree | 5f38b856389ccfb43c83b7be5e33529b699e6574 /lib/ssh/src/ssh_acceptor.erl | |
parent | c46240c78fbce1b8b026f975d80b397209ac4968 (diff) | |
parent | 7efe1b6dd3215261777b5f335b4f92dfca7cea42 (diff) | |
download | otp-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.erl | 19 |
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; |