On Fri, 12 Nov 2010, Mark Riordan wrote:
> I did that, and ran it, and put the results here:
Okej, the executive summary is this table:
   Transferred 0.114 MB
   Final tot_libssh2_send=15707099
   tot_libssh2_transport_send=1558708
   tot_send_existing=14148364
   tot_libssh2_keepalive_send=0
   tot_channel_write=1460245
   put took 2.281 seconds = 0.050 MB/sec
These are really useful details and they show that things are terribly wrong!
I'm first focusing on "tot_libssh2_send=15707099" as it shows the problem is 
present in the lowest possible layer within libssh2.
For this to be able to happen, I'm thinking there's something wrong with the 
EAGAIN detection for win32 and I've just now remade how it is handled: 
previously we would convert from the win32 error to the errno value and store 
that in errno to allow the parent function to read it.
Starting now, we only use the _libssh2_recv and _libssh2_send functions and 
they simply return the negative errno value on errors so that we don't ever 
have to store anything in errno for win32 but only return the correct value.
Commit ca2e81eb1f1bcb3 was just pushed with this change.
-- / daniel.haxx.se _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-develReceived on 2010-11-12