diff options
author | Hans Nilsson <[email protected]> | 2016-09-28 12:16:32 +0200 |
---|---|---|
committer | Hans Nilsson <[email protected]> | 2016-09-28 12:16:32 +0200 |
commit | a8735970c9f02acd5de984a353de79a089f01bf1 (patch) | |
tree | 10dd62e2d4b50e0c1066e3a6b64af22733ff3500 /lib/ssh/src/ssh_cli.erl | |
parent | eb7e521d7a7101f4858e2c69b61da06b76b41ccc (diff) | |
parent | 5e698cb679546dae32c64fabd4e5a65cb5886297 (diff) | |
download | otp-a8735970c9f02acd5de984a353de79a089f01bf1.tar.gz otp-a8735970c9f02acd5de984a353de79a089f01bf1.tar.bz2 otp-a8735970c9f02acd5de984a353de79a089f01bf1.zip |
Merge branch 'isvilen/ssh_REPL_exit_status/PR-1173/OTP-13905' into maint
Diffstat (limited to 'lib/ssh/src/ssh_cli.erl')
-rw-r--r-- | lib/ssh/src/ssh_cli.erl | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/ssh/src/ssh_cli.erl b/lib/ssh/src/ssh_cli.erl index 74cd2e081a..8af0ecc5f9 100644 --- a/lib/ssh/src/ssh_cli.erl +++ b/lib/ssh/src/ssh_cli.erl @@ -208,8 +208,15 @@ handle_msg({Group, Req}, #state{group = Group, buf = Buf, pty = Pty, write_chars(ConnectionHandler, ChannelId, Chars), {ok, State#state{buf = NewBuf}}; -handle_msg({'EXIT', Group, _Reason}, #state{group = Group, - channel = ChannelId} = State) -> +handle_msg({'EXIT', Group, Reason}, #state{group = Group, + cm = ConnectionHandler, + channel = ChannelId} = State) -> + Status = case Reason of + normal -> 0; + _ -> -1 + end, + ssh_connection:exit_status(ConnectionHandler, ChannelId, Status), + ssh_connection:send_eof(ConnectionHandler, ChannelId), {stop, ChannelId, State}; handle_msg(_, State) -> |