From 5fa29da68073281216c7c062c4687ef8081b68d4 Mon Sep 17 00:00:00 2001 From: XANTRONIX Development Date: Tue, 21 Jul 2020 17:44:18 -0400 Subject: [PATCH] Make fd_clear() in src/server.c faster --- src/server.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/server.c b/src/server.c index 305dd51..124b22d 100644 --- a/src/server.c +++ b/src/server.c @@ -144,13 +144,15 @@ static inline void fd_clear(patty_ax25_server *server, int fd) { FD_CLR(fd, &server->fds_watch); - for (i=0; i<8*sizeof(&server->fds_watch); i++) { - if (FD_ISSET(i, &server->fds_watch)) { - server->fd_max = i; + if (server->fd_max == fd + 1) { + for (i=0; i<8*sizeof(&server->fds_watch); i++) { + if (FD_ISSET(i, &server->fds_watch)) { + server->fd_max = i; + } } - } - server->fd_max++; + server->fd_max++; + } } static patty_ax25_sock *sock_by_fd(patty_dict *dict,