Subject: Re: [libssh2] Non Blocking Status

Re: [libssh2] Non Blocking Status

From: Daniel Stenberg <>
Date: Fri, 5 Jan 2007 00:41:40 +0100 (CET)

On Fri, 5 Jan 2007, Greg Hulands wrote:

> I was just wondering what the status of the non blocking effort is?

I have written new versions of the transport layer functions
libssh2_packet_read() and libssh2_packet_write() that both should work with
non-blocking sockets and they return a specific error code instead of

I've verified that the ssh2_sample program still works with my replacements.

I've also started to modify how those functions are used within the library to
enable that the caller functions take advantage of their abilities.

There are a LOT of functions in libssh2 and most of them are not written with
non-blocking behaviour in mind. I'll focus on enabling SCP and SFTP transfers
to get the main transfer phase done completely with non-blocking functions.

I'm leaning towards adding a new function to allow an application to set a
"session" to blocking or non-blocking, which then would control how some of
the functions would work. Another option is to read the non-blocking status
off the actual socket and use that as basis for how to act.

There's probably more to say, but it's late here now...

In case anyone is interested, I can post my (pretty big) current state of
development as a patch for the eager to test/read/review.

Oh, and as a side-project while doing this I've slowly converted wiki pages to
man pages and added them in a docs subdirectory, to allow me to read up on how
the API is expected to work while working my way around the lib.

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