[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/runtime/nepomuk/services/queryservice
From: Sebastian Trueg <sebastian () trueg ! de>
Date: 2010-11-11 23:02:48
Message-ID: 20101111230248.90AEEAC8A4 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1195761 by trueg:
* Protect all accesses to m_folder with m_folderMutex
* Report the last batch of results before exiting
M +9 -2 searchrunnable.cpp
--- trunk/KDE/kdebase/runtime/nepomuk/services/queryservice/searchrunnable.cpp \
#1195760:1195761 @@ -80,7 +80,10 @@
if( m_canceled )
return;
+ m_folderMutex.lock();
kDebug() << m_folder->query() << m_folder->sparqlQuery();
+ const QString sparql = m_folder->sparqlQuery();
+ m_folderMutex.unlock();
QTime time;
time.start();
@@ -88,7 +91,7 @@
// we push the results in batches to lower the traffic and improve the user \
experience QList<Result> resultCache;
- Soprano::QueryResultIterator hits = \
ResourceManager::instance()->mainModel()->executeQuery( m_folder->sparqlQuery(), \
Soprano::Query::QueryLanguageSparql ); + Soprano::QueryResultIterator hits = \
ResourceManager::instance()->mainModel()->executeQuery( sparql, \
Soprano::Query::QueryLanguageSparql ); while ( !m_canceled &&
m_folder &&
hits.next() ) {
@@ -111,9 +114,13 @@
kDebug() << time.elapsed();
- if( m_folder && !m_canceled )
+ QMutexLocker lock( &m_folderMutex );
+ if( m_folder && !m_canceled ) {
+ if( !resultCache.isEmpty() )
+ m_folder->addResults( resultCache );
m_folder->listingFinished();
}
+}
Nepomuk::Query::Result Nepomuk::Query::SearchRunnable::extractResult( const \
Soprano::QueryResultIterator& it ) const
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic