On Wed, 13 Dec 2006, Chris Nystrom wrote:

>> Nothing within libssh2 should ever hang waiting for network traffic in 
>> either direction if the socket is set non-blocking.
>
> Yes, a blocking read was the only thing that worked for me, which was a 
> problem, as my app is multi-threaded and I can not sit in there and wait for 
> it.

There's also the problem of timeouts etc. When the interface is this blocking, 
the only way to do timeouts with a reasonable resolution is to use signals - 
which is very limiting.

> I tried writing a wrapper over libbsh2, but I needed 
> libssh2_poll_channel_read() so I could know if there was data waiting to be 
> read. I needed this before I went in with the blocking read, but this 
> function does not seem to work for me (Filed bug 1588093).
>
> I never tried libssh2_poll(). Did you?

No I haven't tried that, but it's not an option for me.

I'm adding SSH-based transfers to an existing infrastructure that is already 
using (possibly very many) sockets and poll()/select() etc so I'm quite 
depending on that I can use the "standard" procedures to get to know about 
socket activities and that the subsequent calls to deal with the data are 
non-blocking.

I don't see the point with libssh2_poll() at all, but then I'll willingly 
admit that I'm not an libssh2 internals expert...

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
libssh2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libssh2-devel

Reply via email to