diff options
author | Hans Nilsson <[email protected]> | 2014-01-28 14:26:21 +0100 |
---|---|---|
committer | Hans Nilsson <[email protected]> | 2014-01-28 15:07:26 +0100 |
commit | 16aae9d538c8ed3c47a021c7ab10ff9f99231b7e (patch) | |
tree | 7e66b325ac2093b661b7c69394cd6ff989d7de77 | |
parent | e0001b1311dc3182793e21f598dabf15053aead7 (diff) | |
download | otp-16aae9d538c8ed3c47a021c7ab10ff9f99231b7e.tar.gz otp-16aae9d538c8ed3c47a021c7ab10ff9f99231b7e.tar.bz2 otp-16aae9d538c8ed3c47a021c7ab10ff9f99231b7e.zip |
ssh: The server ssh_cli does not delay tty_geometry requests in case no tty is allocated
-rw-r--r-- | lib/ssh/src/ssh_cli.erl | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/ssh/src/ssh_cli.erl b/lib/ssh/src/ssh_cli.erl index 41febf9707..77453e8fd7 100644 --- a/lib/ssh/src/ssh_cli.erl +++ b/lib/ssh/src/ssh_cli.erl @@ -170,10 +170,19 @@ handle_msg({Group, get_unicode_state}, State) -> {ok, State}; handle_msg({Group, tty_geometry}, #state{group = Group, - pty = #ssh_pty{width=Width, - height=Height} + pty = Pty } = State) -> - Group ! {self(),tty_geometry,{Width,Height}}, + case Pty of + #ssh_pty{width=Width,height=Height} -> + Group ! {self(),tty_geometry,{Width,Height}}; + _ -> + %% This is a dirty fix of the problem with the otp ssh:shell + %% client. That client will not allocate a tty, but someone + %% asks for the tty_geometry just before every erlang prompt. + %% If that question is not answered, there is a 2 sec timeout + %% Until the prompt is seen by the user at the client side ... + Group ! {self(),tty_geometry,{0,0}} + end, {ok,State}; handle_msg({Group, Req}, #state{group = Group, buf = Buf, pty = Pty, |