mirror of
https://git.libssh.org/projects/libssh.git
synced 2025-08-13 04:42:23 +03:00
socket: Reformat
Signed-off-by: Jakub Jelen <jjelen@redhat.com>
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
(cherry picked from commit e15f493d4a
)
This commit is contained in:
23
src/socket.c
23
src/socket.c
@@ -261,7 +261,8 @@ int ssh_socket_pollcallback(struct ssh_poll_handle_struct *p,
|
|||||||
if (!ssh_socket_is_open(s)) {
|
if (!ssh_socket_is_open(s)) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
SSH_LOG(SSH_LOG_TRACE, "Poll callback on socket %d (%s%s%s), out buffer %d",fd,
|
SSH_LOG(SSH_LOG_TRACE,
|
||||||
|
"Poll callback on socket %d (%s%s%s), out buffer %" PRIu32, fd,
|
||||||
(revents & POLLIN) ? "POLLIN ":"",
|
(revents & POLLIN) ? "POLLIN ":"",
|
||||||
(revents & POLLOUT) ? "POLLOUT ":"",
|
(revents & POLLOUT) ? "POLLOUT ":"",
|
||||||
(revents & POLLERR) ? "POLLERR":"",
|
(revents & POLLERR) ? "POLLERR":"",
|
||||||
@@ -332,12 +333,13 @@ int ssh_socket_pollcallback(struct ssh_poll_handle_struct *p,
|
|||||||
|
|
||||||
/* Call the callback */
|
/* Call the callback */
|
||||||
if (s->callbacks != NULL && s->callbacks->data != NULL) {
|
if (s->callbacks != NULL && s->callbacks->data != NULL) {
|
||||||
|
size_t processed;
|
||||||
do {
|
do {
|
||||||
nread = s->callbacks->data(ssh_buffer_get(s->in_buffer),
|
processed = s->callbacks->data(ssh_buffer_get(s->in_buffer),
|
||||||
ssh_buffer_get_len(s->in_buffer),
|
ssh_buffer_get_len(s->in_buffer),
|
||||||
s->callbacks->userdata);
|
s->callbacks->userdata);
|
||||||
ssh_buffer_pass_bytes(s->in_buffer, nread);
|
ssh_buffer_pass_bytes(s->in_buffer, processed);
|
||||||
} while ((nread > 0) && (s->state == SSH_SOCKET_CONNECTED));
|
} while ((processed > 0) && (s->state == SSH_SOCKET_CONNECTED));
|
||||||
|
|
||||||
/* p may have been freed, so don't use it
|
/* p may have been freed, so don't use it
|
||||||
* anymore in this function */
|
* anymore in this function */
|
||||||
@@ -382,7 +384,7 @@ int ssh_socket_pollcallback(struct ssh_poll_handle_struct *p,
|
|||||||
ssh_socket_nonblocking_flush(s);
|
ssh_socket_nonblocking_flush(s);
|
||||||
} else if (s->callbacks != NULL && s->callbacks->controlflow != NULL) {
|
} else if (s->callbacks != NULL && s->callbacks->controlflow != NULL) {
|
||||||
/* Otherwise advertise the upper level that write can be done */
|
/* Otherwise advertise the upper level that write can be done */
|
||||||
SSH_LOG(SSH_LOG_TRACE,"sending control flow event");
|
SSH_LOG(SSH_LOG_TRACE, "sending control flow event");
|
||||||
s->callbacks->controlflow(SSH_SOCKET_FLOW_WRITEWONTBLOCK,
|
s->callbacks->controlflow(SSH_SOCKET_FLOW_WRITEWONTBLOCK,
|
||||||
s->callbacks->userdata);
|
s->callbacks->userdata);
|
||||||
}
|
}
|
||||||
@@ -569,9 +571,9 @@ static ssize_t ssh_socket_unbuffered_read(ssh_socket s,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (s->fd_is_socket) {
|
if (s->fd_is_socket) {
|
||||||
rc = recv(s->fd,buffer, len, 0);
|
rc = recv(s->fd, buffer, len, 0);
|
||||||
} else {
|
} else {
|
||||||
rc = read(s->fd,buffer, len);
|
rc = read(s->fd, buffer, len);
|
||||||
}
|
}
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
s->last_errno = WSAGetLastError();
|
s->last_errno = WSAGetLastError();
|
||||||
@@ -582,6 +584,8 @@ static ssize_t ssh_socket_unbuffered_read(ssh_socket s,
|
|||||||
|
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
s->data_except = 1;
|
s->data_except = 1;
|
||||||
|
} else {
|
||||||
|
SSH_LOG(SSH_LOG_TRACE, "read %zd", rc);
|
||||||
}
|
}
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
@@ -619,12 +623,13 @@ static ssize_t ssh_socket_unbuffered_write(ssh_socket s,
|
|||||||
/* Reactive the POLLOUT detector in the poll multiplexer system */
|
/* Reactive the POLLOUT detector in the poll multiplexer system */
|
||||||
if (s->poll_handle) {
|
if (s->poll_handle) {
|
||||||
SSH_LOG(SSH_LOG_PACKET, "Enabling POLLOUT for socket");
|
SSH_LOG(SSH_LOG_PACKET, "Enabling POLLOUT for socket");
|
||||||
ssh_poll_set_events(s->poll_handle,ssh_poll_get_events(s->poll_handle) | POLLOUT);
|
ssh_poll_add_events(s->poll_handle, POLLOUT);
|
||||||
}
|
}
|
||||||
if (w < 0) {
|
if (w < 0) {
|
||||||
s->data_except = 1;
|
s->data_except = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SSH_LOG(SSH_LOG_TRACE, "wrote %zd", w);
|
||||||
return w;
|
return w;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -747,6 +752,8 @@ int ssh_socket_nonblocking_flush(ssh_socket s)
|
|||||||
/* Is there some data pending? */
|
/* Is there some data pending? */
|
||||||
len = ssh_buffer_get_len(s->out_buffer);
|
len = ssh_buffer_get_len(s->out_buffer);
|
||||||
if (s->poll_handle && len > 0) {
|
if (s->poll_handle && len > 0) {
|
||||||
|
SSH_LOG(SSH_LOG_TRACE,
|
||||||
|
"did not send all the data, queuing pollout event");
|
||||||
/* force the poll system to catch pollout events */
|
/* force the poll system to catch pollout events */
|
||||||
ssh_poll_add_events(s->poll_handle, POLLOUT);
|
ssh_poll_add_events(s->poll_handle, POLLOUT);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user