summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/network/socket/qnativesocketengine_unix.cpp1
-rw-r--r--src/network/socket/qnet_unix_p.h5
2 files changed, 6 insertions, 0 deletions
diff --git a/src/network/socket/qnativesocketengine_unix.cpp b/src/network/socket/qnativesocketengine_unix.cpp
index b6df4122530..4b096c840d7 100644
--- a/src/network/socket/qnativesocketengine_unix.cpp
+++ b/src/network/socket/qnativesocketengine_unix.cpp
@@ -401,6 +401,7 @@ bool QNativeSocketEnginePrivate::nativeConnect(const QHostAddress &addr, quint16
break;
case ECONNREFUSED:
case EINVAL:
+ case ENOENT:
setError(QAbstractSocket::ConnectionRefusedError, ConnectionRefusedErrorString);
socketState = QAbstractSocket::UnconnectedState;
break;
diff --git a/src/network/socket/qnet_unix_p.h b/src/network/socket/qnet_unix_p.h
index a172a14a109..7e85bc537b5 100644
--- a/src/network/socket/qnet_unix_p.h
+++ b/src/network/socket/qnet_unix_p.h
@@ -109,6 +109,11 @@ static inline int qt_safe_connect(int sockfd, const struct sockaddr *addr, QT_SO
int ret;
// Solaris e.g. expects a non-const 2nd parameter
QT_EINTR_LOOP(ret, QT_SOCKET_CONNECT(sockfd, const_cast<struct sockaddr *>(addr), addrlen));
+#ifdef Q_OS_WASM
+// ::connect on wasm returns 0 when it shouldn't so use errno instead
+ if (errno != 0)
+ ret = -1;
+#endif
return ret;
}
#undef QT_SOCKET_CONNECT