www.libssh2.org | Daily snapshots | Mailing list archive | Docs | Examples | github

Archive Index This month's Index

Subject: Re: How to structure code for multiple sessions with async API

Re: How to structure code for multiple sessions with async API

From: Sanchay Harneja <sanchay.h_at_gmail.com>
Date: Wed, 28 Oct 2015 12:10:02 -0700

Just wanted to clarify - is it okay to call libssh2_keepalive_send() after
the channel is closed?

On Tue, Oct 27, 2015 at 2:40 AM, Salvador Fandiño <sfandino_at_gmail.com>
wrote:

>
>
> On 10/27/2015 10:37 AM, Daniel Stenberg wrote:
>
>> On Tue, 27 Oct 2015, Salvador Fandiño wrote:
>>
>> If I am understanding libssh2 code correctly, libssh2_keepalive_send
>>> can not work reliably in non-blocking mode as it converts
>>> LIBSSH2_ERROR_SOCKET_EAGAIN errors from _libssh2_transport_send into
>>> LIBSSH2_ERROR_SOCKET_SEND and leaves the transport layer in an
>>> inconsistent state.
>>>
>>> In other words, if you call libssh2_keepalive_send and for any reason
>>> the keep-alive packet can not be immediately delivered, the connection
>>> becomes corrupted.
>>>
>>
>> Isn't that just a bug we should fix?
>>
>
> yes!
>
>
>
> _______________________________________________
> libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel
>

_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel
Received on 2015-10-28

the libssh2 team