From 089ed1525e80b804a1745484995582e29d08129e Mon Sep 17 00:00:00 2001 From: Anton Kudryavtsev Date: Thu, 3 Mar 2016 15:55:47 +0300 Subject: QtNetwork: optimize container usage Don't perform lookup twice. Just cache iterator or position. Change-Id: I454fd292614dee62167ff248fc3ddec0f79435b0 Reviewed-by: Edward Welbourne Reviewed-by: Marc Mutz --- src/network/socket/qsocks5socketengine.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/network/socket') diff --git a/src/network/socket/qsocks5socketengine.cpp b/src/network/socket/qsocks5socketengine.cpp index ee50008cc7..4de4c1799f 100644 --- a/src/network/socket/qsocks5socketengine.cpp +++ b/src/network/socket/qsocks5socketengine.cpp @@ -370,9 +370,11 @@ bool QSocks5BindStore::contains(qintptr socketDescriptor) QSocks5BindData *QSocks5BindStore::retrieve(qintptr socketDescriptor) { QMutexLocker lock(&mutex); - if (!store.contains(socketDescriptor)) + const auto it = store.constFind(socketDescriptor); + if (it == store.cend()) return 0; - QSocks5BindData *bindData = store.take(socketDescriptor); + QSocks5BindData *bindData = it.value(); + store.erase(it); if (bindData) { if (bindData->controlSocket->thread() != QThread::currentThread()) { qWarning("Can not access socks5 bind data from different thread"); -- cgit v1.2.3