WinRT: Do not try to cancel IO for udp sockets on socket close

As the functionality is not available for udp sockets trying to
call it will cause a crash on socket close.

Task-number: QTBUG-53424
Change-Id: Id80b36a248d12bf360135b2374c0a0efdab3a1f0
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
This commit is contained in:
Oliver Wolff 2016-05-18 09:59:25 +02:00 committed by Jani Heikkinen
parent 5cbea54986
commit eba979f695

View File

@ -458,6 +458,7 @@ void QNativeSocketEngine::close()
}
#if _MSC_VER >= 1900
if (d->socketType == QAbstractSocket::TcpSocket) {
// To close the connection properly (not with a hard reset) all pending read operation have to
// be finished or cancelled. The API isn't available on Windows 8.1 though.
ComPtr<IStreamSocket3> socket3;
@ -469,6 +470,7 @@ void QNativeSocketEngine::close()
Q_ASSERT_SUCCEEDED(hr);
hr = QWinRTFunctions::await(action);
Q_ASSERT_SUCCEEDED(hr);
}
#endif // _MSC_VER >= 1900
if (d->readOp) {