From 59c29436db8731fb7a8c9a932bf55d79b370668c Mon Sep 17 00:00:00 2001 From: Gleb Popov Date: Sun, 8 Jun 2025 17:51:54 +0300 Subject: [PATCH] QNativeSocketEngine: React on POLLHUP too when selecting for writing FreeBSD may return a single POLLHUP revent not coupled with any of POLLOUT nor POLLERR. This causes a busy-loop, so put POLLHUP into write_flags. Change-Id: Ief62138eeb6de8e2caf1d6937507bfd828adfb81 Reviewed-by: Thiago Macieira --- src/network/socket/qnativesocketengine_unix.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/network/socket/qnativesocketengine_unix.cpp b/src/network/socket/qnativesocketengine_unix.cpp index 4b096c840d7..6949eec9560 100644 --- a/src/network/socket/qnativesocketengine_unix.cpp +++ b/src/network/socket/qnativesocketengine_unix.cpp @@ -1380,7 +1380,7 @@ int QNativeSocketEnginePrivate::nativeSelect(QDeadlineTimer deadline, bool check } static const short read_flags = POLLIN | POLLHUP | POLLERR; - static const short write_flags = POLLOUT | POLLERR; + static const short write_flags = POLLOUT | POLLHUP | POLLERR; *selectForRead = ((pfd.revents & read_flags) != 0); *selectForWrite = ((pfd.revents & write_flags) != 0);