[tracker] Ensure the full directory hierarchy is inspected on reindex.



commit 144237fc65bf55ca50728d1b447f4618da490701
Author: Carlos Garnacho <carlos lanedo com>
Date:   Tue Feb 23 14:49:11 2010 +0100

    Ensure the full directory hierarchy is inspected on reindex.
    
    On reindex, TrackerMinerFS would stop on a directory hierarchy
    handed by the crawler if its root folder was marked as to be
    ignored. Now the miner tries harder to get all data from the
    directory hierarchy.

 src/libtracker-miner/tracker-miner-fs.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)
---
diff --git a/src/libtracker-miner/tracker-miner-fs.c b/src/libtracker-miner/tracker-miner-fs.c
index 7ed316a..b135e53 100644
--- a/src/libtracker-miner/tracker-miner-fs.c
+++ b/src/libtracker-miner/tracker-miner-fs.c
@@ -1558,9 +1558,10 @@ fill_in_queue (TrackerMinerFS       *fs,
 		file = node->data;
 		dir_data->n_items_processed++;
 
+		g_queue_push_tail (dir_data->nodes, node);
+
 		if (!g_object_get_qdata (G_OBJECT (file), fs->private->quark_ignore_file)) {
 			g_queue_push_tail (queue, g_object_ref (file));
-			g_queue_push_tail (dir_data->nodes, node);
 			return;
 		}
 	}
@@ -1649,7 +1650,14 @@ item_queue_get_next_file (TrackerMinerFS  *fs,
 			*source_file = NULL;
 			return QUEUE_WAIT;
 		} else {
-			fill_in_queue (fs, fs->private->items_created);
+			/* Iterate through all directory hierarchies until
+			 * one of these return something for the miner to do,
+			 * or no data is left to process.
+			 */
+			while (g_queue_is_empty (fs->private->items_created) &&
+			       !g_queue_is_empty (fs->private->crawled_directories)) {
+				fill_in_queue (fs, fs->private->items_created);
+			}
 		}
 	}
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]