summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKurt Pattyn <pattyn.kurt@gmail.com>2014-02-13 22:38:02 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-02-14 00:45:30 +0100
commit6c0f39441a5165f4800fcee7c256cf3ba1db0d51 (patch)
treefe21db28f2f7a394f3546368c930da1a51f71754
parent4500ff1a9714a2fbd66ae6b3868dfba2a2027b89 (diff)
downloadqtwebsockets-6c0f39441a5165f4800fcee7c256cf3ba1db0d51.tar.gz
Use queued connection for readyRead connection
Task-number: QTBUG-36757 Change-Id: I4358563d52ecbff7b7e1575c5d34cef30b5fcd52 Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
-rw-r--r--src/websockets/qwebsocketserver_p.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/websockets/qwebsocketserver_p.cpp b/src/websockets/qwebsocketserver_p.cpp
index f1c616d..a5f9169 100644
--- a/src/websockets/qwebsocketserver_p.cpp
+++ b/src/websockets/qwebsocketserver_p.cpp
@@ -377,8 +377,12 @@ void QWebSocketServerPrivate::setError(QWebSocketProtocol::CloseCode code, const
void QWebSocketServerPrivate::onNewConnection()
{
QTcpSocket *pTcpSocket = m_pTcpServer->nextPendingConnection();
+ //use a queued connection because a QSslSocket
+ //needs the event loop to process incoming data
+ //if not queued, data is incomplete when handshakeReceived is called
QObjectPrivate::connect(pTcpSocket, &QTcpSocket::readyRead,
- this, &QWebSocketServerPrivate::handshakeReceived);
+ this, &QWebSocketServerPrivate::handshakeReceived,
+ Qt::QueuedConnection);
}
/*!