Peter Stuge skrev 3/15/12 10:13 AM:
> Tom Weber wrote:
>> What if libssh2_channel_read_ex() reads data from the socket, which
>> turns out to be data for another channel which has already been
>> checked?
>
> Keep looping over all channels until none return data.
>
The same thing can happen there. Even if no libssh2_channel_read_ex()
call returns data during a loop, one of them can read data from the
socket, for a channel which has already been checked. What I need is a
way to check for data *without* reading more from the socket.
I would probably have designed the API so that the app explicitly reads
socket data with libssh2_transport_read(), wrapped in
libssh2_session_read(), and libssh2_channel_read() would only operate on
that data, it wouldn't call libssh2_transport_read() itself. But I guess
it's too late to make such a change.
-- Best Regards, Tom Weber Cryptzone Group AB _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-develReceived on 2012-03-15