[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> |