1
1

clear socket_block_directions bits before send/recv

These two places are the only places where send and recv are called
outside of transport.c so make sure they clear/set the bits correctly.
Этот коммит содержится в:
Daniel Stenberg 2009-08-24 23:22:39 +02:00
родитель e39128df52
Коммит 08be841b4d

Просмотреть файл

@ -106,6 +106,9 @@ banner_receive(LIBSSH2_SESSION * session)
|| (session->banner_TxRx_banner[banner_len - 1] != '\n'))) {
char c = '\0';
/* no incoming block yet! */
session->socket_block_directions &= ~LIBSSH2_SESSION_BLOCK_INBOUND;
ret = _libssh2_recv(session->socket_fd, &c, 1,
LIBSSH2_SOCKET_RECV_FLAGS(session));
@ -207,6 +210,9 @@ banner_send(LIBSSH2_SESSION * session)
session->banner_TxRx_state = libssh2_NB_state_created;
}
/* no outgoing block yet! */
session->socket_block_directions &= ~LIBSSH2_SESSION_BLOCK_OUTBOUND;
ret = _libssh2_send(session->socket_fd,
banner + session->banner_TxRx_total_send,
banner_len - session->banner_TxRx_total_send,