diff options
Diffstat (limited to 'src/network/socket/qnativesocketengine_unix.cpp')
-rw-r--r-- | src/network/socket/qnativesocketengine_unix.cpp | 14 |
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) |