Subject: [libssh2] non-blocking status

[libssh2] non-blocking status

From: Daniel Stenberg <>
Date: Fri, 26 Jan 2007 12:40:05 +0100 (CET)


I've written two example programs that do SCP and SFTP downloads in a
non-blocking manner, and both of the now run fine here.

There's a few BUTs to this claim, and I'd like to share them with you:

1 - not all functions are or will be non-blocking, as there is a vast amount
     of them and fixing all is a large job that isn't possible for me to do
     right now. I've so far focused on the main ones used for SCP and SFTP
     downloads (libssh2_channel_read and libssh2_sftp_read) and I intend to
     work on the upload versions next.

2 - for LOTS of functions we need to change the prototypes to allow them to
     return a "EAGAIN" error code (instead of blocking) until they are done and
     can return ok. A few examples are libssh2_sftp_init(),
     libssh2_sftp_open(), libssh2_scp_recv(). I would really appreciate some
     input on how to proceed on that. I figure we should make them all return
     an 'int' and have them get handles passed back in a pointer pointer
     argument. Or does anyone have any other thoughts on this?

Like before, I'll provide patches on request until I'll be able to commit

Take Surveys. Earn Cash. Influence the Future of IT
Join's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
libssh2-devel mailing list
Received on 2007-01-26