[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdebase/runtime/nepomuk/services/strigi
From:       Vishesh Handa <handa.vish () gmail ! com>
Date:       2010-12-10 11:55:14
Message-ID: 20101210115514.49774AC8A8 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1205193 by vhanda:

Added a start() function to the IndexFeeder and call it when the index scheduler \
runs. This is solves two MAJOR bugs -
* Changing the list of indexed folder in nepomukstrigirc causes the index scheduler \
to restart. During the restart process it would stop() the IndexFeeder and never \
start() it after that. The index scheduler would then start indexing files and push \
them into the feeder. This would result in the Index Feeder's internal queue becoming \
really really large ( 300Mb+ at times ). And since the feeder isn't running it \
wouldn't ever process this queue.

* Even though the Index Scheduler was indexing the files, the feeder would not push \
them into main model. It would only push folders ( not files  ). This gave the \
impression that stuff was being indexed. The files would only get saved when Nepomuk \
restarted and indexed everything all over again!


 M  +1 -0      indexscheduler.cpp  
 M  +9 -0      nepomukindexer.cpp  
 M  +2 -0      nepomukindexer.h  


--- trunk/KDE/kdebase/runtime/nepomuk/services/strigi/indexscheduler.cpp \
#1205192:1205193 @@ -283,6 +283,7 @@
 {
     // set lowest priority for this thread
     setPriority( QThread::IdlePriority );
+    m_indexer->start();
 
     setIndexingStarted( true );
 
--- trunk/KDE/kdebase/runtime/nepomuk/services/strigi/nepomukindexer.cpp \
#1205192:1205193 @@ -218,4 +218,13 @@
     kDebug() << "done";
 }
 
+
+void Nepomuk::Indexer::start()
+{
+    kDebug();
+    d->m_analyzerConfig.setStop( false );
+    d->m_indexFeeder->start();
+    kDebug() << "Started";
+}
+
 #include "nepomukindexer.moc"
--- trunk/KDE/kdebase/runtime/nepomuk/services/strigi/nepomukindexer.h \
#1205192:1205193 @@ -111,6 +111,8 @@
          */
         void stop();
 
+        void start();
+        
     Q_SIGNALS:
         /**
          * Emitted once the indexing for a file or resource has finished.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic