[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Timeout in channel_open_session
  [Thread Prev] | [Thread Next]
 
 
  [Date Prev] | [Date Next]
 
- Subject: Timeout in channel_open_session
- From: Valentin Rodygin <carterqw@xxxxxxxxxxxxxx>
- Reply-to: libssh@xxxxxxxxxx
- Date: Tue, 10 Aug 2010 13:00:57 +0400
- To: libssh@xxxxxxxxxx
Hi!
Please, I need your advice about channel_open_session function.
I have a timeout configuration parameter in my application.
First of all, I create an instance of my custom connection class and set ssh
options according to my configuration using this piece of code (class
constructor):
if (ssh_options_set(session_id, SSH_OPTIONS_TIMEOUT, &timeout_s) != 0) {
  ...
}
int ret = ssh_connect(session_id);
if (ret == SSH_ERROR) {
  ...
}
...
This code works fine and connection timeout is handled correctly in this
case.
Also I have the following code, which creates ssh channel for remote shell
commands execution, it’s called from methods of the custom connection class
mentioned above:
SSHChannel(ssh_session pSSH): p_channel(NULL) {
p_channel = channel_new(pSSH);
      if (p_channel == NULL) throw SSHError("SSHChannel unable to allocate
new channel for session ", to_str(pSSH), " Error message ",
ssh_get_error(pSSH));
if (channel_open_session(p_channel) != SSH_OK) {
channel_free(p_channel);
p_channel = NULL;
}
}
So, the problem is in the following:
if I’ve established ssh connection successfully using ssh_connect method,
and then after some time link between ssh client and server is broken (due
to some communication problems or firewall enabled), the call of
channel_open_session method from the second code snippet hangs the
application up to 15 minutes, while timeout being set in ssh_options_set was
about 30 seconds.
The question is – how can I specify a reasonable timeout for
channel_open_session calls or how else can I work this situation around?
Thanks in advance.
--
Cheers,
 Valentin Rodygin.
| Re: Timeout in channel_open_session | Andreas Schneider <asn@xxxxxxxxxxxx> | 
| Re: Timeout in channel_open_session | Aris Adamantiadis <aris@xxxxxxxxxxxx> | 

