Ensure all encrypted bytes are sent when closing QSslSocket.
If you do sock->write(data) followed by sock->close() then the data written is not transmitted unless you flush when using QSslSocket but is when using QTcpSocket. This change makes QSslSocket work like QTcpSocket. Change-Id: Ia2e1c021dc48ac0d573f78da782ea77641c03bc1 Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
This commit is contained in:
parent
787c0d76a2
commit
1b19f66037
@ -777,6 +777,8 @@ void QSslSocket::close()
|
|||||||
qDebug() << "QSslSocket::close()";
|
qDebug() << "QSslSocket::close()";
|
||||||
#endif
|
#endif
|
||||||
Q_D(QSslSocket);
|
Q_D(QSslSocket);
|
||||||
|
if (encryptedBytesToWrite())
|
||||||
|
flush();
|
||||||
if (d->plainSocket)
|
if (d->plainSocket)
|
||||||
d->plainSocket->close();
|
d->plainSocket->close();
|
||||||
QTcpSocket::close();
|
QTcpSocket::close();
|
||||||
|
Loading…
Reference in New Issue
Block a user