summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlos@lanedo.com>2011-07-21 17:30:59 +0200
committerJürg Billeter <j@bitron.ch>2011-07-22 14:26:40 +0200
commit45db0075587160c522e60cb31aaa08f54d44d553 (patch)
treedf42a9ddb0b7dce5990fd810713ce5d292e3fe8b
parent1f20819826ba64de7929cb353bea895bfa57eacb (diff)
downloadtracker-45db0075587160c522e60cb31aaa08f54d44d553.tar.gz
libtracker-miner: Ensure recursive parent inspection on parentless files is done orderly
-rw-r--r--src/libtracker-miner/tracker-miner-fs.c23
1 files changed, 14 insertions, 9 deletions
diff --git a/src/libtracker-miner/tracker-miner-fs.c b/src/libtracker-miner/tracker-miner-fs.c
index 4000d3140..9affc8241 100644
--- a/src/libtracker-miner/tracker-miner-fs.c
+++ b/src/libtracker-miner/tracker-miner-fs.c
@@ -2964,15 +2964,11 @@ item_queue_handlers_cb (gpointer user_data)
keep_processing = item_add_or_update (fs, file, priority);
} else {
TrackerPriorityQueue *item_queue;
+ gchar *uri;
- /* Parent isn't indexed yet, reinsert the task into the queue,
- * but forcily prepended by its parent so its indexing is
- * ensured, tasks are inserted at a high priority so they
- * are processed promptly anyway.
- */
- tracker_priority_queue_add (fs->priv->items_created,
- g_object_ref (parent),
- G_PRIORITY_HIGH);
+ uri = g_file_get_uri (parent);
+ g_message ("Parent '%s' not indexed yet", uri);
+ g_free (uri);
if (queue == QUEUE_CREATED) {
item_queue = fs->priv->items_created;
@@ -2980,9 +2976,18 @@ item_queue_handlers_cb (gpointer user_data)
item_queue = fs->priv->items_updated;
}
+ /* Parent isn't indexed yet, reinsert the task into the queue,
+ * but forcily prepended by its parent so its indexing is
+ * ensured, tasks are inserted at a higher priority so they
+ * are processed promptly anyway.
+ */
+ tracker_priority_queue_add (item_queue,
+ g_object_ref (parent),
+ priority - 1);
+
tracker_priority_queue_add (item_queue,
g_object_ref (file),
- G_PRIORITY_HIGH);
+ priority);
keep_processing = TRUE;
}