mirror of
https://git.libssh.org/projects/libssh.git
synced 2025-11-30 13:01:23 +03:00
socket: Make code easier to read and debug.
This commit is contained in:
18
src/socket.c
18
src/socket.c
@@ -528,6 +528,7 @@ int ssh_socket_write(ssh_socket s, const void *buffer, int len) {
|
|||||||
*/
|
*/
|
||||||
int ssh_socket_nonblocking_flush(ssh_socket s) {
|
int ssh_socket_nonblocking_flush(ssh_socket s) {
|
||||||
ssh_session session = s->session;
|
ssh_session session = s->session;
|
||||||
|
uint32_t len;
|
||||||
int w;
|
int w;
|
||||||
|
|
||||||
enter_function();
|
enter_function();
|
||||||
@@ -543,9 +544,9 @@ int ssh_socket_nonblocking_flush(ssh_socket s) {
|
|||||||
return SSH_ERROR;
|
return SSH_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (s->data_to_write && buffer_get_rest_len(s->out_buffer) > 0) {
|
len = buffer_get_rest_len(s->out_buffer);
|
||||||
w = ssh_socket_unbuffered_write(s, buffer_get_rest(s->out_buffer),
|
if (s->data_to_write && len > 0) {
|
||||||
buffer_get_rest_len(s->out_buffer));
|
w = ssh_socket_unbuffered_write(s, buffer_get_rest(s->out_buffer), len);
|
||||||
if (w < 0) {
|
if (w < 0) {
|
||||||
session->alive = 0;
|
session->alive = 0;
|
||||||
ssh_socket_close(s);
|
ssh_socket_close(s);
|
||||||
@@ -561,11 +562,12 @@ int ssh_socket_nonblocking_flush(ssh_socket s) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Is there some data pending? */
|
/* Is there some data pending? */
|
||||||
if (buffer_get_rest_len(s->out_buffer) > 0 && s->poll_out) {
|
len = buffer_get_rest_len(s->out_buffer);
|
||||||
/* force the poll system to catch pollout events */
|
if (s->poll_out && len > 0) {
|
||||||
ssh_poll_set_events(s->poll_out, ssh_poll_get_events(s->poll_out) |POLLOUT);
|
/* force the poll system to catch pollout events */
|
||||||
leave_function();
|
ssh_poll_set_events(s->poll_out, ssh_poll_get_events(s->poll_out) | POLLOUT);
|
||||||
return SSH_AGAIN;
|
leave_function();
|
||||||
|
return SSH_AGAIN;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* all data written */
|
/* all data written */
|
||||||
|
|||||||
Reference in New Issue
Block a user