Daniel Stenberg 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?

Yeah, no, looking more closely at how _transport_send() works this is
fine. I was confusing it with how _send() works, returning number of
bytes rather than 0 for success.


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

That's what I thought the problem was above. But maybe it is there in
a different place. It fits with the error description.


//Peter
_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

Reply via email to