diff options
author | Carlos Garnacho <carlos@lanedo.com> | 2011-07-21 17:30:59 +0200 |
---|---|---|
committer | Jürg Billeter <j@bitron.ch> | 2011-07-22 14:26:40 +0200 |
commit | 45db0075587160c522e60cb31aaa08f54d44d553 (patch) | |
tree | df42a9ddb0b7dce5990fd810713ce5d292e3fe8b | |
parent | 1f20819826ba64de7929cb353bea895bfa57eacb (diff) | |
download | tracker-45db0075587160c522e60cb31aaa08f54d44d553.tar.gz |
libtracker-miner: Ensure recursive parent inspection on parentless files is done orderly
-rw-r--r-- | src/libtracker-miner/tracker-miner-fs.c | 23 |
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; } |