OSDN Git Service

do not set socket error twice in EAGAIN case in QNativeSocketEnginePrivate::nativeCon...
authorIvailo Monev <xakepa10@gmail.com>
Thu, 30 Sep 2021 21:46:04 +0000 (00:46 +0300)
committerIvailo Monev <xakepa10@gmail.com>
Thu, 30 Sep 2021 21:46:04 +0000 (00:46 +0300)
strerror(EAGAIN) returns "Resource temporarily unavailable", strerror(EALREADY)
returns "Operation already in progress" which is deffinetly not invalid
socket error ("Invalid socket descriptor")

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
src/network/socket/qnativesocketengine_unix.cpp

index 5dc186f..791d4be 100644 (file)
@@ -358,12 +358,11 @@ bool QNativeSocketEnginePrivate::nativeConnect(const QHostAddress &addr, quint16
             break;
         case EINPROGRESS:
         case EALREADY:
-            setError(QAbstractSocket::UnfinishedSocketOperationError, InvalidSocketErrorString);
+            setError(QAbstractSocket::UnfinishedSocketOperationError, ResourceErrorString);
             socketState = QAbstractSocket::ConnectingState;
             break;
         case EAGAIN:
-            setError(QAbstractSocket::UnfinishedSocketOperationError, InvalidSocketErrorString);
-            setError(QAbstractSocket::SocketResourceError, ResourceErrorString);
+            setError(QAbstractSocket::UnfinishedSocketOperationError, ResourceErrorString);
             break;
         case EACCES:
         case EPERM: