www.libssh2.org | Daily snapshots | Mailing list archive | Docs | Examples | github

Archive Index This month's Index

Subject: Re: libssh2 master acd9bd6 always do "forced" window updates

Re: libssh2 master acd9bd6 always do "forced" window updates

From: Alexander Lamaison <swish_at_lammy.co.uk>
Date: Wed, 4 Apr 2012 12:06:54 +0100

On 3 April 2012 21:44, <libssh2_at_git.stuge.se> wrote:
> - Log -----------------------------------------------------------------
> commit acd9bd6104a8e9427293bcdf67b4850f7982b1d4
> Author: Daniel Stenberg <daniel_at_haxx.se>
> Commit: Daniel Stenberg <daniel_at_haxx.se>
>
>    always do "forced" window updates
>
>    When calling _libssh2_channel_receive_window_adjust() internally, we now
>    always use the 'force' option to prevent libssh2 to avoid sending the
>    update if the update isn't big enough.
>
>    It isn't fully analyzed but we have seen corner cases which made a
>    necessary window update not get send due to this and then the other side
>    doesn't send data our side then sits waiting for forever.
>
> diff --git a/src/channel.c b/src/channel.c
> index 5181f6f..63e5d5b 100644
> --- a/src/channel.c
> +++ b/src/channel.c
> @@ -1418,7 +1418,7 @@ _libssh2_channel_flush(LIBSSH2_CHANNEL *channel, int streamid)
>

... snip

Somehow, this fixes the problems on Windows where writing would block
after around 90MB. I'm not sure I understand the logic but it works!

Alex

-- 
Swish - Easy SFTP for Windows Explorer (http://www.swish-sftp.org)
_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel
Received on 2012-04-04

the libssh2 team