summaryrefslogtreecommitdiff
path: root/src/websockets/qwebsocketserver_p.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-01-25 11:03:47 +0100
committerLiang Qi <liang.qi@qt.io>2017-01-25 11:03:47 +0100
commitdfc91928f15302fa4e6c41802c60caec2c124942 (patch)
tree7c32786f83a45d9d8de8d989e9d54dcc0982d4e5 /src/websockets/qwebsocketserver_p.cpp
parenta0aec91b676e2b79b8e66091d55d9e128bf2a1d0 (diff)
parent670266a075c7c312c6a7f9465298bfec0b968ee2 (diff)
downloadqtwebsockets-dfc91928f15302fa4e6c41802c60caec2c124942.tar.gz
Merge remote-tracking branch 'origin/5.8' into dev
Conflicts: .qmake.conf Change-Id: If50b73b1f1e293269404bd8b38088119a0f59f1f
Diffstat (limited to 'src/websockets/qwebsocketserver_p.cpp')
-rw-r--r--src/websockets/qwebsocketserver_p.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/websockets/qwebsocketserver_p.cpp b/src/websockets/qwebsocketserver_p.cpp
index 91bfafc..d675056 100644
--- a/src/websockets/qwebsocketserver_p.cpp
+++ b/src/websockets/qwebsocketserver_p.cpp
@@ -392,18 +392,20 @@ void QWebSocketServerPrivate::onNewConnection()
QObjectPrivate::connect(pTcpSocket, &QTcpSocket::readyRead,
this, &QWebSocketServerPrivate::handshakeReceived,
Qt::QueuedConnection);
+ QObjectPrivate::connect(pTcpSocket, &QTcpSocket::disconnected,
+ this, &QWebSocketServerPrivate::onSocketDisconnected);
}
}
/*!
\internal
*/
-void QWebSocketServerPrivate::onCloseConnection()
+void QWebSocketServerPrivate::onSocketDisconnected()
{
if (Q_LIKELY(currentSender)) {
QTcpSocket *pTcpSocket = qobject_cast<QTcpSocket*>(currentSender->sender);
if (Q_LIKELY(pTcpSocket))
- pTcpSocket->close();
+ pTcpSocket->deleteLater();
}
}
@@ -433,7 +435,7 @@ void QWebSocketServerPrivate::handshakeReceived()
this, &QWebSocketServerPrivate::handshakeReceived);
Q_Q(QWebSocketServer);
bool success = false;
- bool isSecure = false;
+ bool isSecure = (m_secureMode == SecureMode);
if (m_pendingConnections.length() >= maxPendingConnections()) {
pTcpSocket->close();