On Sat, 13 Nov 2010, Peter Stuge wrote:
> Yeah, channel_write() git now looks weird.
>
> rc = _libssh2_transport_send(session, channel->write_packet,
> ..
> else if (rc) {
> channel->write_state = libssh2_NB_state_idle;
> return _libssh2_error(session, rc,
> "Unable to send channel data");
> }
I'm sorry, why is that weird?
I have a different explanation to the problem and that is quite simply
that_libssh2_channel_write() returns EAGAIN instead of a short return when the
entire buffer isn't sent in the first case, which can lead to a "loss" of data
returned.
I'll get to this later today I hope.
> Also, I'm not happy that only one code path leading into channel_write()
> actually has a debug message in _channel_write().
I'm not sure exactly what you refer to, but feel free to clean up!
BTW, thanks a lot for jumping in and helping out!
-- / daniel.haxx.se _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-develReceived on 2010-11-13