summaryrefslogtreecommitdiffstats
path: root/src/network/socket/qnativesocketengine_unix.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/network/socket/qnativesocketengine_unix.cpp')
-rw-r--r--src/network/socket/qnativesocketengine_unix.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/network/socket/qnativesocketengine_unix.cpp b/src/network/socket/qnativesocketengine_unix.cpp
index b380b0f7d6..24c17124dc 100644
--- a/src/network/socket/qnativesocketengine_unix.cpp
+++ b/src/network/socket/qnativesocketengine_unix.cpp
@@ -1383,20 +1383,24 @@ qint64 QNativeSocketEnginePrivate::nativeRead(char *data, qint64 maxSize)
// No data was available for reading
r = -2;
break;
- case EBADF:
- case EINVAL:
- case EIO:
- //error string is now set in read(), not here in nativeRead()
- break;
case ECONNRESET:
#if defined(Q_OS_VXWORKS)
case ESHUTDOWN:
#endif
r = 0;
break;
+ case ETIMEDOUT:
+ socketError = QAbstractSocket::SocketTimeoutError;
+ break;
default:
+ socketError = QAbstractSocket::NetworkError;
break;
}
+
+ if (r == -1) {
+ hasSetSocketError = true;
+ socketErrorString = qt_error_string();
+ }
}
#if defined (QNATIVESOCKETENGINE_DEBUG)