"Markus Moeller" <hua...@moeller.plus.com> wrote in 
message news:gmi9el$hi...@ger.gmane.org...
>I did some more debug.  Here are my questions:
>
> Normal:
> Curl_write calls Curl_scp_send
>
> MMMMMMM Curl_scp_send after libssh2_channel_write len/nwrite 16384/16384
> MMMMMMM Curl_write after Curl_scp_send len/nwrite 16384/16384
> MMMMMMM Curl_scp_send after libssh2_channel_write len/nwrite 16384/16384
> MMMMMMM Curl_write after Curl_scp_send len/nwrite 16384/16384
>
> EAGAIN error:     libssh2 keeps track of what has been written and what 
> not.
> (eg. wrote16363 bytes and 21 still buffered)
>                             Curl_scp_send returns 0 => Does that mean the
> same packet will be send again by Curl ?
>
> MMMMMMM Curl_scp_send after libssh2_channel_write len/nwrite 16384/-37
> MMMMMMM Curl_write after Curl_scp_send len/nwrite 16384/0
>
> Resend ? This looks like libssh2 returns the wrong value. The previously
> send 16363 bytes plus the new ? or resend 16384 bytes ?
>
> MMMMMMM Curl_scp_send after libssh2_channel_write len/nwrite 16384/32747
> MMMMMMM Curl_write after Curl_scp_send len/nwrite 16384/32747
> MMMMMMM Curl_scp_send after libssh2_channel_write len/nwrite -16363/-1
> MMMMMMM Curl_write lafter Curl_scp_send en/nwrite -16363/-1
>
>
> Markus
>



I think this would fix libssh2

--- src/channel.c       2009-02-06 23:57:47.000000000 +0000
+++ src/channel_new.c   2009-02-06 23:57:42.000000000 +0000
@@ -1771,6 +1771,7 @@
         channel->write_state = libssh2_NB_state_allocated;
     }

+    buflen -= channel->write_bufwrote;
     while (buflen > 0) {
         if (channel->write_state == libssh2_NB_state_allocated) {
             channel->write_bufwrite = buflen;




>
>
> ------------------------------------------------------------------------------
> Create and Deploy Rich Internet Apps outside the browser with 
> Adobe(R)AIR(TM)
> software. With Adobe AIR, Ajax developers can use existing skills and code 
> to
> build responsive, highly engaging applications that combine the power of 
> local
> resources and data with the reach of the web. Download the Adobe AIR SDK 
> and
> Ajax docs to start building applications 
> today-http://p.sf.net/sfu/adobe-com 



------------------------------------------------------------------------------
Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code to
build responsive, highly engaging applications that combine the power of local
resources and data with the reach of the web. Download the Adobe AIR SDK and
Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com
_______________________________________________
libssh2-devel mailing list
libssh2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libssh2-devel

Reply via email to