summaryrefslogtreecommitdiffstats
path: root/src/plugins/bearer/corewlan
diff options
context:
space:
mode:
authorTim Blechmann <tim@klingt.org>2016-02-14 19:57:23 +0800
committerTim Blechmann <tim@klingt.org>2016-03-01 09:20:41 +0000
commit495e8c205424253186bef47421de63534d23dd59 (patch)
tree808bf7eb02632324c9b30b6873a67143ee81f641 /src/plugins/bearer/corewlan
parentc2530c7d2005ec734cc310d9122b0bf135120444 (diff)
corewlan: avoid unnecessary currentInterface.serviceActive checks
currentInterface.serviceActive is relatively expensive and causes significant spikes in cpu load. Luckily, we can easily memorize the result. Change-Id: Ic7983b63bba5507bc1e34b0644e73365dc44f200 Task-number: QTBUG-45798 Task-number: QTCREATORBUG-15741 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
Diffstat (limited to 'src/plugins/bearer/corewlan')
-rw-r--r--src/plugins/bearer/corewlan/qcorewlanengine.mm5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.mm b/src/plugins/bearer/corewlan/qcorewlanengine.mm
index 6d16b59d35..d89078465b 100644
--- a/src/plugins/bearer/corewlan/qcorewlanengine.mm
+++ b/src/plugins/bearer/corewlan/qcorewlanengine.mm
@@ -158,6 +158,7 @@ void QScanThread::run()
mutex.lock();
CWInterface *currentInterface = [CWInterface interfaceWithName: QCFString::toNSString(interfaceName)];
mutex.unlock();
+ const bool currentInterfaceServiceActive = currentInterface.serviceActive;
if (currentInterface.powerOn) {
NSError *err = nil;
@@ -172,7 +173,7 @@ void QScanThread::run()
QNetworkConfiguration::StateFlags state = QNetworkConfiguration::Undefined;
bool known = isKnownSsid(networkSsid);
- if (currentInterface.serviceActive) {
+ if (currentInterfaceServiceActive) {
if( networkSsid == QCFString::toQString( [currentInterface ssid])) {
state = QNetworkConfiguration::Active;
}
@@ -215,7 +216,7 @@ void QScanThread::run()
interfaceName = ij.value();
}
- if (currentInterface.serviceActive) {
+ if (currentInterfaceServiceActive) {
if( networkSsid == QCFString::toQString([currentInterface ssid])) {
state = QNetworkConfiguration::Active;
}