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