summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2020-09-27 12:11:11 -0400
committerDrew DeVault <sir@cmpwn.com>2020-09-27 12:11:11 -0400
commita9ee61418f223d2135dbf10cdbd2066215cdfc8d (patch)
tree0d17e10a0fd9fe1c133d3312a0629d60727c50e7 /src
parent7fed84898befefa9f535969ba3da24df44ebe8be (diff)
downloadgmnisrv-a9ee61418f223d2135dbf10cdbd2066215cdfc8d.tar.gz
gmnisrv-a9ee61418f223d2135dbf10cdbd2066215cdfc8d.tar.xz
gmnisrv-a9ee61418f223d2135dbf10cdbd2066215cdfc8d.zip
Break after processing polled client
Otherwise we might not grok it, ya jive
Diffstat (limited to 'src')
-rw-r--r--src/server.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/server.c b/src/server.c
index 488f2eb..f14a121 100644
--- a/src/server.c
+++ b/src/server.c
@@ -443,10 +443,13 @@ server_run(struct gmnisrv_server *server)
for (size_t i = 0; i < server->nclients; ++i) {
if ((server->fds[server->nlisten + i].revents & (POLLHUP | POLLERR))) {
disconnect_client(server, &server->clients[i]);
+ break;
} else if ((server->fds[server->nlisten + i].revents & POLLIN)) {
client_readable(server, &server->clients[i]);
+ break;
} else if ((server->fds[server->nlisten + i].revents & POLLOUT)) {
client_writable(server, &server->clients[i]);
+ break;
}
}
} while (server->run);