From f3517c0d01d9bae9b1ee12bbd33d9143129488a4 Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Mon, 24 Jan 2022 18:26:55 -0600 Subject: [PATCH] ipc: Handle POLLIN/OUT even when ERR --- lib/ipc/server.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/lib/ipc/server.c b/lib/ipc/server.c index 663dcaa78..40601b974 100644 --- a/lib/ipc/server.c +++ b/lib/ipc/server.c @@ -1014,15 +1014,12 @@ process_loop(void) for (n = 0 ; n < num_fds; n++) { if (clients[n] == NULL) continue; - if (fds[n].revents & POLLERR) { - clients[n]->flags |= WAITING_CLOSE; - continue; - } - if (fds[n].revents & POLLIN) handle_read(clients[n]); if (fds[n].revents & POLLOUT) handle_write(clients[n]); + if (fds[n].revents & POLLERR) + clients[n]->flags |= WAITING_CLOSE; } n = 0;