From 9289bc65b095a9c83e9336d51687ba7b20b0f1be Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Wed, 28 Jan 2015 14:56:36 +0100 Subject: 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 Reviewed-by: Jarek Kobus --- src/libs/installer/remoteobject.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/libs') 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; } } -- cgit v1.2.3