diff options
author | Marcus Arendt <[email protected]> | 2014-11-12 10:04:17 +0100 |
---|---|---|
committer | Marcus Arendt <[email protected]> | 2014-11-12 10:04:17 +0100 |
commit | 30e5a5b28f3f4c5ba69d536aec30d1fae4e1f2fb (patch) | |
tree | 381d067b5ac2ce905afc8e7270c9a8037adcefa7 /lib/ssh | |
parent | 8f32884f7301064d2a45a50854892cdc966e3048 (diff) | |
parent | e61f384adff0c9b134750ee239581296d25c10cd (diff) | |
download | otp-30e5a5b28f3f4c5ba69d536aec30d1fae4e1f2fb.tar.gz otp-30e5a5b28f3f4c5ba69d536aec30d1fae4e1f2fb.tar.bz2 otp-30e5a5b28f3f4c5ba69d536aec30d1fae4e1f2fb.zip |
Merge branch 'maint'
Diffstat (limited to 'lib/ssh')
-rw-r--r-- | lib/ssh/src/ssh_sftp.erl | 2 | ||||
-rw-r--r-- | lib/ssh/src/ssh_xfer.erl | 9 |
2 files changed, 9 insertions, 2 deletions
diff --git a/lib/ssh/src/ssh_sftp.erl b/lib/ssh/src/ssh_sftp.erl index 721146c509..12479e9121 100644 --- a/lib/ssh/src/ssh_sftp.erl +++ b/lib/ssh/src/ssh_sftp.erl @@ -112,7 +112,7 @@ start_channel(Host, Opts) -> start_channel(Host, Port, Opts) -> {SshOpts, SftpOpts} = handle_options(Opts, [], []), Timeout = proplists:get_value(timeout, SftpOpts, infinity), - case ssh_xfer:connect(Host, Port, SshOpts) of + case ssh_xfer:connect(Host, Port, SshOpts, Timeout) of {ok, ChannelId, Cm} -> case ssh_channel:start(Cm, ChannelId, ?MODULE, [Cm, ChannelId, SftpOpts]) of diff --git a/lib/ssh/src/ssh_xfer.erl b/lib/ssh/src/ssh_xfer.erl index 1881392db8..2743b704f1 100644 --- a/lib/ssh/src/ssh_xfer.erl +++ b/lib/ssh/src/ssh_xfer.erl @@ -23,7 +23,7 @@ -module(ssh_xfer). --export([attach/2, connect/3]). +-export([attach/2, connect/3, connect/4]). -export([open/6, opendir/3, readdir/3, close/3, read/5, write/5, rename/5, remove/3, mkdir/4, rmdir/3, realpath/3, extended/4, stat/4, fstat/4, lstat/4, setstat/4, @@ -58,6 +58,13 @@ connect(Host, Port, Opts) -> Error -> Error end. +connect(Host, Port, Opts, Timeout) -> + case ssh:connect(Host, Port, Opts, Timeout) of + {ok, CM} -> open_xfer(CM, [{timeout, Timeout}|Opts]); + {error, Timeout} -> {error, timeout}; + Error -> Error + end. + open_xfer(CM, Opts) -> TMO = proplists:get_value(timeout, Opts, infinity), case ssh_connection:session_channel(CM, ?XFER_WINDOW_SIZE, ?XFER_PACKET_SIZE, TMO) of |