diff options
author | Justin McPherson <justin.mcpherson@nokia.com> | 2010-04-22 23:54:51 (GMT) |
---|---|---|
committer | Justin McPherson <justin.mcpherson@nokia.com> | 2010-04-22 23:54:51 (GMT) |
commit | 478e914638f2131d1547c4e2dc4659723657194d (patch) | |
tree | c9f63e6bd79dce411ae059b1bb65a66db6584264 /src/network/kernel/qhostinfo.cpp | |
parent | 6b30ee9d2219308605e0d1b15ea1c74dc5cb67fe (diff) | |
parent | 4894e6dd57c31e0196c6fdae4d1b2fb16b9f1b16 (diff) | |
download | Qt-478e914638f2131d1547c4e2dc4659723657194d.zip Qt-478e914638f2131d1547c4e2dc4659723657194d.tar.gz Qt-478e914638f2131d1547c4e2dc4659723657194d.tar.bz2 |
Merge branch '4.7' of ../../qt/4.7 into 4.7
Conflicts:
demos/multimedia/player/player.pro
Diffstat (limited to 'src/network/kernel/qhostinfo.cpp')
-rw-r--r-- | src/network/kernel/qhostinfo.cpp | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/src/network/kernel/qhostinfo.cpp b/src/network/kernel/qhostinfo.cpp index baf69e7..7e006e0 100644 --- a/src/network/kernel/qhostinfo.cpp +++ b/src/network/kernel/qhostinfo.cpp @@ -488,9 +488,23 @@ QHostInfoLookupManager::~QHostInfoLookupManager() wasDeleted = true; // don't qDeleteAll currentLookups, the QThreadPool has ownership - qDeleteAll(postponedLookups); - qDeleteAll(scheduledLookups); - qDeleteAll(finishedLookups); + clear(); +} + +void QHostInfoLookupManager::clear() +{ + { + QMutexLocker locker(&mutex); + qDeleteAll(postponedLookups); + qDeleteAll(scheduledLookups); + qDeleteAll(finishedLookups); + postponedLookups.clear(); + scheduledLookups.clear(); + finishedLookups.clear(); + } + + threadPool.waitForDone(); + cache.clear(); } void QHostInfoLookupManager::work() @@ -636,7 +650,7 @@ void qt_qhostinfo_clear_cache() { QHostInfoLookupManager* manager = theHostInfoLookupManager(); if (manager) { - manager->cache.clear(); + manager->clear(); } } |