This fix addresses bug# 2141548. Channel reads would fail despite
libssh2_poll() detecting that there was data ready to be read on the socket. This is seen when small amounts of data are ready to be read, typically 1-4 chars worth.
Этот коммит содержится в:
родитель
fa620b2a7b
Коммит
006f233361
@ -1521,7 +1521,8 @@ libssh2_channel_read_ex(LIBSSH2_CHANNEL * channel, int stream_id, char *buf,
|
||||
channel->read_packet = session->packets.head;
|
||||
}
|
||||
|
||||
if (rc < 0) {
|
||||
//We didn't read any data from the socket and no packets are waiting to be read
|
||||
if (rc < 0) && (! channel->read_packet)) {
|
||||
if (rc != PACKET_EAGAIN) {
|
||||
channel->read_state = libssh2_NB_state_idle;
|
||||
}
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user