From a18106d3afc92f0ec3d71218fc907d921100ac3b Mon Sep 17 00:00:00 2001 From: Dmitriy Kuznetsov Date: Fri, 7 Sep 2012 12:23:55 +0200 Subject: channels: Fix channel_request_pty_size1 always returning an error. Fixes bug #88. --- src/channels1.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/channels1.c b/src/channels1.c index 24546a4..9ba5866 100644 --- a/src/channels1.c +++ b/src/channels1.c @@ -112,10 +112,15 @@ int channel_request_pty_size1(ssh_channel channel, const char *terminal, int col } ssh_log(session, SSH_LOG_FUNCTIONS, "Opening a ssh1 pty"); - + channel->request_state = SSH_CHANNEL_REQ_STATE_PENDING; if (packet_send(session) == SSH_ERROR) { return -1; } + + while (channel->request_state == SSH_CHANNEL_REQ_STATE_PENDING) { + ssh_handle_packets(session, SSH_TIMEOUT_INFINITE); + } + switch(channel->request_state){ case SSH_CHANNEL_REQ_STATE_ERROR: case SSH_CHANNEL_REQ_STATE_PENDING: -- cgit