1
0
mirror of https://git.libssh.org/projects/libssh.git synced 2025-08-08 19:02:06 +03:00

Revert the control flow callback in commit

6f029598c7

Signed-off-by: Sahana Prasad <sahana@redhat.com>
Reviewed-by: Jakub Jelen <jjelen@redhat.com>
This commit is contained in:
Sahana Prasad
2023-08-14 10:42:15 +02:00
committed by Jakub Jelen
parent 6a64f5a11a
commit adfb2bcc75

View File

@@ -1399,12 +1399,37 @@ error:
return processed;
}
static void ssh_packet_socket_controlflow_callback(int code, void *userdata)
{
ssh_session session = userdata;
struct ssh_iterator *it;
ssh_channel channel;
if (code == SSH_SOCKET_FLOW_WRITEWONTBLOCK) {
SSH_LOG(SSH_LOG_TRACE, "sending channel_write_wontblock callback");
/* the out pipe is empty so we can forward this to channels */
it = ssh_list_get_iterator(session->channels);
while (it != NULL) {
channel = ssh_iterator_value(ssh_channel, it);
ssh_callbacks_execute_list(channel->callbacks,
ssh_channel_callbacks,
channel_write_wontblock_function,
session,
channel,
channel->remote_window);
it = it->next;
}
}
}
void ssh_packet_register_socket_callback(ssh_session session, ssh_socket s)
{
struct ssh_socket_callbacks_struct *callbacks = &session->socket_callbacks;
callbacks->data = ssh_packet_socket_callback;
callbacks->connected = NULL;
callbacks->controlflow = ssh_packet_socket_controlflow_callback;
callbacks->userdata = session;
ssh_socket_set_callbacks(s, callbacks);
}