From 03559bb6b2f085156c1a99b8503cb3cbb796bb0b Mon Sep 17 00:00:00 2001 From: Matheus Date: Thu, 4 Jun 2026 15:00:02 -0300 Subject: [PATCH] localsocket: handle POLLIN on hang up properly --- kernel-src/io/net/localsocket.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel-src/io/net/localsocket.c b/kernel-src/io/net/localsocket.c index 51aaec64..936e8557 100644 --- a/kernel-src/io/net/localsocket.c +++ b/kernel-src/io/net/localsocket.c @@ -109,7 +109,7 @@ static int clientpoll(localsocket_t *localsocket, int events) { // server disconnected if (server == NULL) - return POLLHUP; + return POLLHUP | ((events & POLLIN) ? POLLIN : 0); // the client has one more possible poll check: // it can still be connecting with the other end @@ -125,7 +125,7 @@ static int serverpoll(localsocket_t *localsocket, int events) { // client disconnected if (client == NULL) - return POLLHUP; + return POLLHUP | ((events & POLLIN) ? POLLIN : 0); return datapoll(localsocket, client, events); }