From c7a31419ce2f43e07d71aa8f28fefc3d3d8747a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Deuc=D0=B5?= <shurd@sasktel.net> Date: Fri, 28 Apr 2023 20:55:31 -0400 Subject: [PATCH] Only read readable sockets. --- src/syncterm/rlogin.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/syncterm/rlogin.c b/src/syncterm/rlogin.c index 432b470a02..961ec34135 100644 --- a/src/syncterm/rlogin.c +++ b/src/syncterm/rlogin.c @@ -29,13 +29,13 @@ rlogin_input_thread(void *args) rd = recv(rlogin_sock, conn_api.rd_buf, conn_api.rd_buf_size, 0); if (rd <= 0) break; - } - buffered = 0; - while (rlogin_sock != INVALID_SOCKET && buffered < rd) { - pthread_mutex_lock(&(conn_inbuf.mutex)); - buffer = conn_buf_wait_free(&conn_inbuf, rd - buffered, 1000); - buffered += conn_buf_put(&conn_inbuf, conn_api.rd_buf + buffered, buffer); - pthread_mutex_unlock(&(conn_inbuf.mutex)); + buffered = 0; + while (rlogin_sock != INVALID_SOCKET && buffered < rd) { + pthread_mutex_lock(&(conn_inbuf.mutex)); + buffer = conn_buf_wait_free(&conn_inbuf, rd - buffered, 1000); + buffered += conn_buf_put(&conn_inbuf, conn_api.rd_buf + buffered, buffer); + pthread_mutex_unlock(&(conn_inbuf.mutex)); + } } } conn_api.input_thread_running = 2; -- GitLab