From 451668d2524a62845f84cfa8f7297037657972a8 Mon Sep 17 00:00:00 2001 From: Oliver Wolff Date: Fri, 7 Nov 2014 15:13:09 +0100 Subject: WinRT: Only set keepalive socket option in certain socket states The keepalive socket can only be set if the socket is not connected (see http://msdn.microsoft.com/en-us/library/ie/windows.networking.sockets.streamsocketcontrol.keepalive) Task-number: QTBUG-38623 Change-Id: Ia40dc66f071a8109538e4be7a8f420de81d5be8d Reviewed-by: Alex Trotsenko Reviewed-by: Leena Miettinen Reviewed-by: Andrew Knight --- src/network/socket/qnativesocketengine_winrt.cpp | 3 ++- 1 file changed, 2 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 cacfe11fea..e60840d651 100644 --- a/src/network/socket/qnativesocketengine_winrt.cpp +++ b/src/network/socket/qnativesocketengine_winrt.cpp @@ -998,7 +998,8 @@ bool QNativeSocketEnginePrivate::setOption(QAbstractSocketEngine::SocketOption o return true; } case QAbstractSocketEngine::KeepAliveOption: { - if (socketType == QAbstractSocket::UdpSocket) + if (socketType == QAbstractSocket::UdpSocket + || socketState != QAbstractSocket::UnconnectedState) return false; boolean keepAlive = v; -- cgit v1.2.3