diff options
author | Erlang/OTP <[email protected]> | 2016-10-06 11:29:47 +0200 |
---|---|---|
committer | Erlang/OTP <[email protected]> | 2016-10-06 11:29:47 +0200 |
commit | c2e4feec8186c932408a5af79e97a64f01bec578 (patch) | |
tree | 127266f9ce5b249a4c393bf4c35713abb60187b3 /lib/ssh/src | |
parent | 310b00b7fc18b5883f5f2cb1b992deb1dd6c9a65 (diff) | |
parent | eadc9b7a1a0349422a6b9ad1d52229562fc22375 (diff) | |
download | otp-c2e4feec8186c932408a5af79e97a64f01bec578.tar.gz otp-c2e4feec8186c932408a5af79e97a64f01bec578.tar.bz2 otp-c2e4feec8186c932408a5af79e97a64f01bec578.zip |
Merge branch 'ingela/ssh/channel_exit_handling/OTP-13932' into maint-19
* ingela/ssh/channel_exit_handling/OTP-13932:
ssh: Prepare release
ssh: Handle gen_server:call/3 exits properly
Diffstat (limited to 'lib/ssh/src')
-rw-r--r-- | lib/ssh/src/ssh.appup.src | 4 | ||||
-rw-r--r-- | lib/ssh/src/ssh_channel.erl | 7 |
2 files changed, 10 insertions, 1 deletions
diff --git a/lib/ssh/src/ssh.appup.src b/lib/ssh/src/ssh.appup.src index e38cecf226..4cda8fee95 100644 --- a/lib/ssh/src/ssh.appup.src +++ b/lib/ssh/src/ssh.appup.src @@ -20,9 +20,13 @@ {"%VSN%", [ + {<<"4.3.2">>, [{load_module, ssh_channel, soft_purge, soft_purge, []} + ]}, {<<".*">>, [{restart_application, ssh}]} ], [ + {<<"4.3.2">>, [{load_module, ssh_channel, soft_purge, soft_purge, []} + ]}, {<<".*">>, [{restart_application, ssh}]} ] }. diff --git a/lib/ssh/src/ssh_channel.erl b/lib/ssh/src/ssh_channel.erl index a8e6ebde16..426e2f5125 100644 --- a/lib/ssh/src/ssh_channel.erl +++ b/lib/ssh/src/ssh_channel.erl @@ -93,11 +93,16 @@ call(ChannelPid, Msg, TimeOute) -> catch exit:{noproc, _} -> {error, closed}; + exit:{normal, _} -> + {error, closed}; + exit:{shutdown, _} -> + {error, closed}; + exit:{{shutdown, _}, _} -> + {error, closed}; exit:{timeout, _} -> {error, timeout} end. - cast(ChannelPid, Msg) -> gen_server:cast(ChannelPid, Msg). |