From 58a0025c5909a0df7a3aaf2beec7294edda496c1 Mon Sep 17 00:00:00 2001 From: XANTRONIX Development Date: Fri, 7 Aug 2020 21:46:22 -0400 Subject: [PATCH] Only handle clients and interfaces if select() >0 Only handle clients and interfaces if select() returns >0 in the main event loop of patty_ax25_server_run(), to avoid unnecessary CPU overhead --- src/server.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/server.c b/src/server.c index 5357f0e..7b54005 100644 --- a/src/server.c +++ b/src/server.c @@ -1992,20 +1992,22 @@ int patty_ax25_server_run(patty_ax25_server *server) { timersub(&after, &before, &server->elapsed); - if (handle_clients(server) < 0) { - goto error_io; - } - - if (handle_ifaces(server) < 0) { - goto error_io; - } - if (handle_socks(server) < 0) { goto error_io; } - if (accept_client(server) < 0) { - goto error_io; + if (nready > 0) { + if (handle_clients(server) < 0) { + goto error_io; + } + + if (handle_ifaces(server) < 0) { + goto error_io; + } + + if (accept_client(server) < 0) { + goto error_io; + } } }