From 270aa5b58d7a4db23287a77c89a97dddd81694a6 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 4 Dec 2015 14:46:29 +0100 Subject: WinRT: Set TemporaryError in QNativeSocketEngine::accept() when no connections are pending. This suppresses the emission of QTcpServer::acceptError() from QTcpServerPrivate::readNotification(). Task-number: QTBUG-49776 Change-Id: Icfb686d44c0a396ae2bf5867bd31a91232ef3e3c Reviewed-by: Markus Goetz (Woboq GmbH) Reviewed-by: Oliver Wolff --- src/network/socket/qnativesocketengine_winrt.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/network/socket/qnativesocketengine_winrt.cpp') diff --git a/src/network/socket/qnativesocketengine_winrt.cpp b/src/network/socket/qnativesocketengine_winrt.cpp index 173221dec0..1c68b28784 100644 --- a/src/network/socket/qnativesocketengine_winrt.cpp +++ b/src/network/socket/qnativesocketengine_winrt.cpp @@ -380,8 +380,10 @@ int QNativeSocketEngine::accept() Q_CHECK_STATE(QNativeSocketEngine::accept(), QAbstractSocket::ListeningState, -1); Q_CHECK_TYPE(QNativeSocketEngine::accept(), QAbstractSocket::TcpSocket, -1); - if (d->socketDescriptor == -1 || d->pendingConnections.isEmpty()) + if (d->socketDescriptor == -1 || d->pendingConnections.isEmpty()) { + d->setError(QAbstractSocket::TemporaryError, QNativeSocketEnginePrivate::TemporaryErrorString); return -1; + } // Start processing incoming data if (d->socketType == QAbstractSocket::TcpSocket) { -- cgit v1.2.3