diff options
author | Hans Nilsson <[email protected]> | 2014-03-26 17:24:51 +0100 |
---|---|---|
committer | Hans Nilsson <[email protected]> | 2014-03-26 17:24:51 +0100 |
commit | fb908b7ceccaef70a46bb14db8da3e6e373a9810 (patch) | |
tree | 61aa6cc9794abcf310083e4594a5f32e380be367 /lib/ssh/src/ssh_connection_handler.erl | |
parent | 2da14af988d563b5c53f42334e990f4c9021dd7a (diff) | |
download | otp-fb908b7ceccaef70a46bb14db8da3e6e373a9810.tar.gz otp-fb908b7ceccaef70a46bb14db8da3e6e373a9810.tar.bz2 otp-fb908b7ceccaef70a46bb14db8da3e6e373a9810.zip |
ssh: added daemon option 'parallel_login', default false
Diffstat (limited to 'lib/ssh/src/ssh_connection_handler.erl')
-rw-r--r-- | lib/ssh/src/ssh_connection_handler.erl | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/ssh/src/ssh_connection_handler.erl b/lib/ssh/src/ssh_connection_handler.erl index d7fff14f92..322da50f21 100644 --- a/lib/ssh/src/ssh_connection_handler.erl +++ b/lib/ssh/src/ssh_connection_handler.erl @@ -110,8 +110,16 @@ start_connection(server = Role, Socket, Options, Timeout) -> {ok, Pid} = ssh_connection_sup:start_child(ConnectionSup, [Role, Socket, Opts]), {_, Callback, _} = proplists:get_value(transport, Options, {tcp, gen_tcp, tcp_closed}), socket_control(Socket, Pid, Callback), - Ref = erlang:monitor(process, Pid), - handshake(Pid, Ref, Timeout) + case proplists:get_value(parallel_login, Opts, false) of + true -> + spawn(fun() -> + Ref = erlang:monitor(process, Pid), + handshake(Pid, Ref, Timeout) + end); + false -> + Ref = erlang:monitor(process, Pid), + handshake(Pid, Ref, Timeout) + end catch exit:{noproc, _} -> {error, ssh_not_started}; |