summaryrefslogtreecommitdiffstats
path: root/src/network/socket/qnativesocketengine_unix.cpp
diff options
context:
space:
mode:
authorKarim Pinter <karim.pinter@qt.io>2025-08-05 11:20:16 +0300
committerKarim Pinter <karim.pinter@qt.io>2025-11-25 18:02:22 +0200
commit5c7b5d151894c39af07234563edd101da33bafde (patch)
treecb5eb6616b2896c402790bdaffd97c210d868bc8 /src/network/socket/qnativesocketengine_unix.cpp
parentcc8415653fa5d82f34b86dc6d4ee9fa68a4f72c5 (diff)
QNativeSocketEngine/VxWorks: also handle ENOTSUP
VxWorks doesn't return standard error types, so there is a need to extend the error handling for this OS. Task-number: QTBUG-138759 Pick-to: 6.8 6.10 Change-Id: I01de0f759c732ae840711949c769a4710aad306f Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src/network/socket/qnativesocketengine_unix.cpp')
-rw-r--r--src/network/socket/qnativesocketengine_unix.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/network/socket/qnativesocketengine_unix.cpp b/src/network/socket/qnativesocketengine_unix.cpp
index 430197ccc6e..a19223e2348 100644
--- a/src/network/socket/qnativesocketengine_unix.cpp
+++ b/src/network/socket/qnativesocketengine_unix.cpp
@@ -200,7 +200,7 @@ bool QNativeSocketEnginePrivate::createNewSocket(QAbstractSocket::SocketType soc
int type = (socketType == QAbstractSocket::UdpSocket) ? SOCK_DGRAM : SOCK_STREAM;
int socket = qt_safe_socket(domain, type, protocol, O_NONBLOCK);
- if (socket < 0 && socketProtocol == QAbstractSocket::AnyIPProtocol && errno == EAFNOSUPPORT) {
+ if (socket < 0 && socketProtocol == QAbstractSocket::AnyIPProtocol && (errno == EAFNOSUPPORT || errno == ENOTSUP )) {
domain = AF_INET;
socket = qt_safe_socket(domain, type, protocol, O_NONBLOCK);
socketProtocol = QAbstractSocket::IPv4Protocol;
@@ -1161,6 +1161,8 @@ qint64 QNativeSocketEnginePrivate::nativeSendDatagram(const char *data, qint64 l
sentBytes = -2;
break;
case EMSGSIZE:
+ // seen on VxWorks
+ case ENOMEM:
setError(QAbstractSocket::DatagramTooLargeError, DatagramTooLargeErrorString);
break;
case ECONNRESET: