diff options
author | Gleb Popov <[email protected]> | 2025-06-08 17:51:54 +0300 |
---|---|---|
committer | Gleb Popov <[email protected]> | 2025-06-12 15:20:49 +0300 |
commit | 59c29436db8731fb7a8c9a932bf55d79b370668c (patch) | |
tree | 9c0652af391278842e885eb0d725587c242307f6 | |
parent | 4ba106b38fe94ae3a7a8520b276a4873d11bb755 (diff) |
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 <[email protected]>
-rw-r--r-- | src/network/socket/qnativesocketengine_unix.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
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); |