diff options
author | Oliver Wolff <oliver.wolff@qt.io> | 2018-03-15 08:54:25 +0100 |
---|---|---|
committer | Oliver Wolff <oliver.wolff@qt.io> | 2018-04-06 05:31:03 +0000 |
commit | 29b21e83ba4af67e8ea4925e7a10bc9c6f5a13f6 (patch) | |
tree | 8cf8cc4079e5ab3e0e676dcbce0349771a7cc914 /src/network/socket/qnativesocketengine_winrt_p.h | |
parent | 20d2f024851d1b4c335d6288bd9aa6942ed02d4e (diff) |
winrt: process pending data before closing a socket connection
If data is received and the remote immediately closes the connection,
it was possible that data was lost. If a remote closes the connection
make sure that any pending data is processed, before signaling closing
of the socket.
Change-Id: Ia94a616a31184fd28695919baaff99811fe0f1dd
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Diffstat (limited to 'src/network/socket/qnativesocketengine_winrt_p.h')
-rw-r--r-- | src/network/socket/qnativesocketengine_winrt_p.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/network/socket/qnativesocketengine_winrt_p.h b/src/network/socket/qnativesocketengine_winrt_p.h index f47e2a7dd7..6688bfe35c 100644 --- a/src/network/socket/qnativesocketengine_winrt_p.h +++ b/src/network/socket/qnativesocketengine_winrt_p.h @@ -184,6 +184,7 @@ private slots: WinRTSocketEngine::ErrorString errorString); void handleNewData(); void handleTcpError(QAbstractSocket::SocketError error); + void processReadReady(); private: Q_DECLARE_PRIVATE(QNativeSocketEngine) @@ -228,6 +229,7 @@ private: EventRegistrationToken connectionToken; bool emitReadReady = true; + bool pendingReadNotification = false; HRESULT handleClientConnection(ABI::Windows::Networking::Sockets::IStreamSocketListener *tcpListener, ABI::Windows::Networking::Sockets::IStreamSocketListenerConnectionReceivedEventArgs *args); |