diff options
author | Peter Hartmann <peter.hartmann@nokia.com> | 2009-10-27 15:04:29 (GMT) |
---|---|---|
committer | Peter Hartmann <peter.hartmann@nokia.com> | 2009-10-27 15:38:38 (GMT) |
commit | 2d0b29c312ddf422595ce9debb3678bb5c4d51b6 (patch) | |
tree | cc9a88dcdfbc10db62c9ff9f9cb930d1e805f171 /src/network/ssl | |
parent | d0b0e0ed8ac857d78e497b74bb1c3596273c53ba (diff) | |
download | Qt-2d0b29c312ddf422595ce9debb3678bb5c4d51b6.zip Qt-2d0b29c312ddf422595ce9debb3678bb5c4d51b6.tar.gz Qt-2d0b29c312ddf422595ce9debb3678bb5c4d51b6.tar.bz2 |
QAbstractSocket: wait with closing until all bytes have been written
only disconnect from host when all bytes have been written; i.e. not
only check whether the write buffer is empty, but also check whether
the socket engine has still bytes to write. This is necessary for
HTTP and SOCKS5 socket engine, because they both contain an inner TCP
socket which also does buffering. For the native socket engine, there
is no difference with this patch.
Reviewed-by: Markus Goetz
Reviewed-by: Thiago Macieira
Diffstat (limited to 'src/network/ssl')
-rw-r--r-- | src/network/ssl/qsslsocket.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/network/ssl/qsslsocket.cpp b/src/network/ssl/qsslsocket.cpp index 2c88130..608d772 100644 --- a/src/network/ssl/qsslsocket.cpp +++ b/src/network/ssl/qsslsocket.cpp @@ -707,6 +707,8 @@ void QSslSocket::close() qDebug() << "QSslSocket::close()"; #endif Q_D(QSslSocket); + if (d->plainSocket) + d->plainSocket->close(); QTcpSocket::close(); // must be cleared, reading/writing not possible on closed socket: |