diff options
author | Kai Koehne <kai.koehne@theqtcompany.com> | 2015-01-28 14:56:36 +0100 |
---|---|---|
committer | Kai Koehne <kai.koehne@theqtcompany.com> | 2015-02-02 11:25:06 +0000 |
commit | 9289bc65b095a9c83e9336d51687ba7b20b0f1be (patch) | |
tree | 2bac6d41fc17d12138ea760c35bb51e915a0df40 | |
parent | 0ccaf170548498aea2cb2b6a4aac772d6427879d (diff) |
Do not defer deletion of socket in RemoteObject
The 7z backend can create and close a considerable number of RemoteObjects
without ever returning to the event loop. For big archives the socket
objects are therefore piling up, slowing down the extraction over time.
QTcpSocket::close is documented to close the connection automatically in its
destructor, so deleting it instantly is safe.
Change-Id: I95323b53e6886a7bc6c0b59dd3c13ade4aa9567c
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
-rw-r--r-- | src/libs/installer/remoteobject.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/libs/installer/remoteobject.cpp b/src/libs/installer/remoteobject.cpp index e295694b6..c6cddad3f 100644 --- a/src/libs/installer/remoteobject.cpp +++ b/src/libs/installer/remoteobject.cpp @@ -62,8 +62,7 @@ RemoteObject::~RemoteObject() } else { Q_ASSERT_X(false, Q_FUNC_INFO, "Socket running in a different Thread than this object."); } - m_socket->deleteLater(); - m_socket = 0; + delete m_socket; } } |