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: Tue, 27 Oct 2015 03:18:23 -0700

> if you call libssh2_keepalive_send and for any reason the keep-alive
packet can not be immediately delivered, the connection becomes corrupted.
What is the return value of keepalive_send in that case?

Would you recommend just using (multi-threaded) blocking mode then?

On Tue, Oct 27, 2015 at 2:37 AM, Daniel Stenberg <daniel_at_haxx.se> 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?
>
> --
>
> / daniel.haxx.se
> _______________________________________________
> 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-27

the libssh2 team