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:
parent
5cbea54986
commit
eba979f695
@ -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) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user