[tracker/miner-paranoid-logs: 2/3] libtracker-miner: Add to items_created just just before setting the GFileMonitor
- From: Aleksander Morgado <aleksm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/miner-paranoid-logs: 2/3] libtracker-miner: Add to items_created just just before setting the GFileMonitor
- Date: Thu, 5 Aug 2010 18:14:23 +0000 (UTC)
commit c0861d5efb65ec47ddf94465c7ef9e1fd35b3379
Author: Aleksander Morgado <aleksander lanedo com>
Date: Thu Aug 5 16:02:33 2010 +0200
libtracker-miner: Add to items_created just just before setting the GFileMonitor
src/libtracker-miner/tracker-miner-fs.c | 49 ++++++++++++++++++++++++++++++-
1 files changed, 48 insertions(+), 1 deletions(-)
---
diff --git a/src/libtracker-miner/tracker-miner-fs.c b/src/libtracker-miner/tracker-miner-fs.c
index 1d06b1c..97f68d9 100644
--- a/src/libtracker-miner/tracker-miner-fs.c
+++ b/src/libtracker-miner/tracker-miner-fs.c
@@ -2085,6 +2085,24 @@ fill_in_queue (TrackerMinerFS *fs,
g_queue_push_tail (dir_data->nodes, node);
+#ifdef PARANOID_DEBUG
+ {
+ gboolean ignore;
+ gchar *uri;
+
+ uri = g_file_get_uri (file);
+ ignore = (g_object_get_qdata (G_OBJECT (file),
+ fs->private->quark_ignore_file) != NULL ?
+ TRUE : FALSE);
+
+ paranoid_debug ("(Root dir) File '%s' set as %s",
+ uri,
+ ignore ? "IGNORED" : "NOT ignored");
+ g_free (uri);
+ }
+#endif
+
+
if (!g_object_get_qdata (G_OBJECT (file), fs->private->quark_ignore_file)) {
g_queue_push_tail (queue, g_object_ref (file));
return;
@@ -2111,6 +2129,23 @@ fill_in_queue (TrackerMinerFS *fs,
file = children->data;
dir_data->n_items_processed++;
+#ifdef PARANOID_DEBUG
+ {
+ gboolean ignore;
+ gchar *uri;
+
+ uri = g_file_get_uri (file);
+ ignore = (g_object_get_qdata (G_OBJECT (file),
+ fs->private->quark_ignore_file) != NULL ?
+ TRUE : FALSE);
+
+ paranoid_debug ("(Child) File '%s' set as %s",
+ uri,
+ ignore ? "IGNORED" : "NOT ignored");
+ g_free (uri);
+ }
+#endif
+
if (!g_object_get_qdata (G_OBJECT (file), fs->private->quark_ignore_file)) {
g_queue_push_tail (queue, g_object_ref (file));
}
@@ -2832,7 +2867,6 @@ monitor_item_created_cb (TrackerMonitor *monitor,
} else {
g_queue_push_tail (fs->private->items_created,
g_object_ref (file));
-
item_queue_handlers_set_up (fs);
}
}
@@ -3099,6 +3133,19 @@ crawler_check_directory_contents_cb (TrackerCrawler *crawler,
* the finished sig?
*/
if (add_monitor) {
+ /* Before adding the monitor, start notifying the store
+ * about the new directory, so that if any file event comes
+ * afterwards, the directory is already in store. */
+ g_queue_push_tail (fs->private->items_created,
+ g_object_ref (parent));
+ item_queue_handlers_set_up (fs);
+
+ /* As we already added here, specify that it shouldn't be added
+ * any more */
+ g_object_set_qdata (G_OBJECT (parent),
+ fs->private->quark_ignore_file,
+ GINT_TO_POINTER (TRUE));
+
tracker_monitor_add (fs->private->monitor, parent);
} else {
tracker_monitor_remove (fs->private->monitor, parent);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]